61 test_option_number = 123;
71 import "test_plugin.so" as test_plugin;
75 print
"Resolve functions = ${odl-resolve}";
78 entry-point test_plugin.test_entry_point;
83 string mibparam =
"123";
88 object TestObjectRoot {
90 object TestObjectSingelton;
91 %
protected %read-only %persistent %
private object TestObjSingletonAttr;
92 object TestObjectTemplate[];
93 %
protected %read-only %persistent %
private object TestObjTemplateAttr[];
95 object TestObjectParamTypes {
98 on action validate call check_enum [
"choiceA",
"choice1",
"choiceB" ];
102 on action validate call check_range { min = -10, max = -1 };
117 object TestObjectFunctions {
129 void func12(
string arg1,
146 uint16
'${function_name}'();
149 %
protected %read-only %persistent
object "${object_name}" {
150 %read-only %persistent %
private %
template %instance %
volatile string Param1;
153 object TestSingeltonParamAttr {
154 %
protected %read-only %persistent %
private %
template %instance %
volatile string Param1;
156 object TestTemplateParamAttr[] {
157 counted with
"${counter_name}";
158 %
protected %read-only %persistent %
private %
template %instance %
volatile string Param1;
159 %
template string Param2 {
160 on action validate call check_enum [
"value1",
"value2",
"value3" ];
163 %instance
string Param3;
166 object TestSingletonFuncAttr {
167 %
protected %
private %
template %instance
void TestFunc1();
168 void TestFunc2(%mandatory %in %out %strict int32 number);
170 object TestTemplateFuncAttr {
171 %
private %
template %instance
void TestFunc1();
172 %
template void TestFunc2();
173 %instance
void TestFunc3();
174 void TestFunc4(%mandatory %in %out %strict int32 number);
177 object TestObjectTemplateWithChild[] {
178 counted with TestObjectTemplateWithChildCounter;
179 object TemplateChildObject {
185 object TestObjectTemplateWithKeys[] {
186 %key
string KeyPart1;
187 %
mutable %key uint32 KeyPart2;
188 %key
string KeyPart3;
189 %unique
string '${the_unique_param}';
195 %read-only
object TestChangeAttr {
196 %
private string Param1;
197 %
private void Func1();
200 object ExtendWithTestMib {
201 extend
using mib TestMib;
208 object TestObjectEvent {
217 object TestObjectRoot.TestObjectTemplateWithChild {
218 instance add(1,
"Name1") {
219 object TemplateChildObject {
220 parameter Param1 =
"Some Text";
223 instance add(2,
"${instance_name}") {
224 extend
using mib TestMib;
228 object TestObjectRoot.TestTemplateParamAttr {
229 parameter Param2 =
"value1";
230 parameter Param1 =
"This is param 1";
231 instance add(99,
"") {
232 parameter Param1 =
"This is param 1 in instance";
233 parameter Param3 =
"Hello World";
238 object TestObjectRoot.TestObjectTemplateWithKeys {
242 KeyPart3 =
"Key1B") {
243 parameter Param1=
"Some Text";
244 parameter Param2 =
true;
245 parameter
'${the_unique_param}' =
"Key1";
247 instance add(0,
"Test",
250 KeyPart3 =
"Key2B") {
251 parameter Param1=
"Some Text";
252 parameter Param2 =
true;
253 parameter
'${the_unique_param}' =
"Key2";
255 instance add(KeyPart1 =
"Key3A",
257 KeyPart3 =
"Key3B") {
258 parameter Param1=
"Some Text";
259 parameter Param2 =
true;
260 parameter
'${the_unique_param}' =
"Key3";
264 !read-only %persistent
object TestObjectRoot.TestChangeAttr {
265 !
private %read-only parameter Param1;
268 on event
".*" of
".*" call handle_event;
269 on event
".*" call handle_events
270 filter
"object matches \"TestObjectRoot\.TestObjectTempl.*\"";
275 existing-
object =
"update"
280 object TestObjectRoot {
281 object TestObjectTemplateWithKeys {
283 void testfunc(%in
string arg);
284 string ExtraParameter =
"TEST";
static amxd_status_t test_dummy_action(UNUSED amxd_object_t *const object, UNUSED amxd_param_t *const param, UNUSED amxd_action_t reason, UNUSED const amxc_var_t *const args, UNUSED amxc_var_t *const retval, UNUSED void *priv)
amxd_status_t TestFunc4(amxd_object_t *object, amxd_function_t *func, amxc_var_t *args, amxc_var_t *ret)