summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_atspi_adaptor.eo
blob: 8a1f2f8701d1c41bd87250fbdbe64894abbdfed4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import eldbus_types;

function Elm.Atspi.Method.Callback
{
   params {
        @in obj: Elm.Atspi.Adaptor;
        @in access: Efl.Access;
        @in conn: ptr(Eldbus.Connection);
        @in msg: ptr(Eldbus.Message);
   }
   return: ptr(Eldbus.Message);
};

struct Elm.Arg.Info
{
   signature: string;
   name: string;
}

struct Elm.Atspi.Method
{
   arg_in: Elm.Arg.Info;
   arg_out: Elm.Arg.Info;
   cb: Elm.Atspi.Method.Callback;
}

struct Elm.Atspi.Signal
{
   name: string;
}

struct Elm.Atspi.Property
{
   name: string;
}

struct Elm.Atspi.Service.Interface.Desc
{
   name: string;
   methods: hash<string, ptr(Elm.Atspi.Method)>;
   properties: hash<string, ptr(Elm.Atspi.Property)>;
   signals: array<ptr(Elm.Atspi.Signal)>;
}

abstract Elm.Atspi.Adaptor (Efl.Object)
{
   [[Base class for accessibility adaptors]]
   methods {
        @property cache {
             get {
             }
             set {
             }
             values {
                  cache: Efl.Access.Cache;
             }
        }
        @property interface @protected {
             set {
             }
             get {
             }
             values {
                  desc: const(ptr(Elm.Atspi.Service.Interface.Desc));
             }
        }
        register {
             params {
                  @in conn: ptr(Eldbus.Connection);
                  @in path_prefix: string;
             }
        }
        unregister {
        }
   }
   implements {
        Efl.Object.constructor;
        Efl.Object.destructor;
   }
   constructors {
        .cache;
        .interface;
   }
}