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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
|
local st = require "prosody.util.stanza"
global record moduleapi
get_name : function (moduleapi) : string
get_host : function (moduleapi) : string
enum host_type
"global"
"local"
"component"
end
get_host_type : function (moduleapi) : host_type
set_global : function (moduleapi)
add_feature : function (moduleapi, string)
add_identity : function (moduleapi, string, string, string) -- TODO enum?
add_extension : function (moduleapi, st.stanza_t)
fire_event : function (moduleapi, string, any) : any
type handler = function (any) : any
record util_events
-- TODO import def
end
hook_object_event : function (moduleapi, util_events, string, handler, number)
unhook_object_event : function (moduleapi, util_events, string, handler)
hook : function (moduleapi, string, handler, number)
hook_global : function (moduleapi, string, handler, number)
hook_tag : function (moduleapi, string, string, handler, number)
unhook : function (moduleapi, string, handler)
wrap_object_event : function (moduleapi, util_events, string, handler)
wrap_event : function (moduleapi, string, handler)
wrap_global : function (moduleapi, string, handler)
require : function (moduleapi, string) : table
depends : function (moduleapi, string) : table
shared : function (moduleapi, string) : table
type config_getter = function<A> (moduleapi, string, A) : A
get_option : config_getter<any>
get_option_scalar : config_getter<nil | boolean | number | string>
get_option_string : config_getter<string>
get_option_number : config_getter<number>
get_option_boolean : config_getter<boolean>
record util_array
-- TODO import def
{ any }
end
get_option_array : config_getter<util_array>
record util_set
-- TODO import def
_items : { any : boolean }
end
get_option_set : function (moduleapi, string, { any }) : util_set
get_option_inherited_set : function (moduleapi, string, { any }) : util_set
get_option_path : function (moduleapi, string, string, string) : string
context : function (moduleapi, string) : moduleapi
add_item : function (moduleapi, string, any)
remove_item : function (moduleapi, string, any)
get_host_items : function (moduleapi, string) : { any }
handle_items : function (moduleapi, string, handler, handler, boolean)
provides : function (moduleapi, string, table)
record util_session
-- TODO import def
send : function ( st.stanza_t | string )
end
send : function (moduleapi, st.stanza_t, util_session)
send_iq : function (moduleapi, st.stanza_t, util_session, number)
broadcast : function (moduleapi, { string }, st.stanza_t, function)
type timer_callback = function (number, ... : any) : number
record timer_wrapper
stop : function (timer_wrapper)
disarm : function (timer_wrapper)
reschedule : function (timer_wrapper, number)
end
add_timer : function (moduleapi, number, timer_callback, ... : any) : timer_wrapper
get_directory : function (moduleapi) : string
enum file_mode
"r" "w" "a" "r+" "w+" "a+"
end
load_resource : function (moduleapi, string, file_mode) : FILE
enum store_type
"keyval"
"keyval+"
"map"
"archive"
end
open_store : function (moduleapi, string, store_type)
enum stat_type
"amount"
"counter"
"rate"
"distribution"
"sizes"
"times"
end
record stats_conf
initial : number
units : string
type : string
end
measure : function (moduleapi, string, stat_type, stats_conf)
measure_object_event : function (moduleapi, util_events, string, string)
measure_event : function (moduleapi, string, string)
measure_global_event : function (moduleapi, string, string)
enum status_type
"error"
"warn"
"info"
"core"
end
set_status : function (moduleapi, status_type, string, boolean)
enum log_level
"debug"
"info"
"warn"
"error"
end
log_status : function (moduleapi, log_level, string, ... : any)
get_status : function (moduleapi) : status_type, string, number
-- added by modulemanager
name : string
host : string
_log : function (log_level, string, ... : any)
log : function (moduleapi, log_level, string, ... : any)
reloading : boolean
saved_state : any
record module_environment
module : moduleapi
end
environment : module_environment
path : string
resource_path : string
-- access control
may : function (moduleapi, string, table|string)
default_permission : function (string, string)
default_permissions : function (string, { string })
-- methods the module can add
load : function ()
add_host : function (moduleapi)
save : function () : any
restore : function (any)
unload : function ()
end
global module : moduleapi
global record common_event
stanza : st.stanza_t
record origin
send : function (st.stanza_t)
end
end
global record prosody
version : string
end
return module
|