2 * Asterisk -- An open source telephony toolkit.
4 * Copyright (C) 2013, Digium, Inc.
6 * See http://www.asterisk.org for more information about
7 * the Asterisk project. Please do not directly contact
8 * any of the maintainers of this project for assistance;
9 * the project provides a web site, mailing lists and IRC
10 * channels for your use.
12 * This program is free software, distributed under the terms of
13 * the GNU General Public License Version 2. See the LICENSE file
14 * at the top of the source tree.
19 * \brief Generated file - Build validators for ARI model objects.
21 * In addition to the normal validation functions one would normally expect,
22 * each validator has a ast_ari_validate_{id}_fn() companion function that returns
23 * the validator's function pointer.
25 * The reason for this seamingly useless indirection is the way function
26 * pointers interfere with module loading. Asterisk attempts to dlopen() each
27 * module using \c RTLD_LAZY in order to read some metadata from the module.
28 * Unfortunately, if you take the address of a function, the function has to be
29 * resolvable at load time, even if \c RTLD_LAZY is specified. By moving the
30 * function-address-taking into this module, we can once again be lazy.
34 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
35 * !!!!! DO NOT EDIT !!!!!
36 * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
37 * This file is generated by a mustache template. Please see the original
38 * template in rest-api-templates/ari_model_validators.h.mustache
41 #ifndef _ASTERISK_ARI_MODEL_H
42 #define _ASTERISK_ARI_MODEL_H
44 #include "asterisk/json.h"
49 * \brief Validator for native Swagger void.
51 * \param json JSON object to validate.
52 * \returns True (non-zero) if valid.
53 * \returns False (zero) if invalid.
55 int ast_ari_validate_void(struct ast_json *json);
58 * \brief Validator for native Swagger object.
60 * \param json JSON object to validate.
61 * \returns True (non-zero) if valid.
62 * \returns False (zero) if invalid.
64 int ast_ari_validate_object(struct ast_json *json);
67 * \brief Validator for native Swagger byte.
69 * \param json JSON object to validate.
70 * \returns True (non-zero) if valid.
71 * \returns False (zero) if invalid.
73 int ast_ari_validate_byte(struct ast_json *json);
76 * \brief Validator for native Swagger boolean.
78 * \param json JSON object to validate.
79 * \returns True (non-zero) if valid.
80 * \returns False (zero) if invalid.
82 int ast_ari_validate_boolean(struct ast_json *json);
85 * \brief Validator for native Swagger int.
87 * \param json JSON object to validate.
88 * \returns True (non-zero) if valid.
89 * \returns False (zero) if invalid.
91 int ast_ari_validate_int(struct ast_json *json);
94 * \brief Validator for native Swagger long.
96 * \param json JSON object to validate.
97 * \returns True (non-zero) if valid.
98 * \returns False (zero) if invalid.
100 int ast_ari_validate_long(struct ast_json *json);
103 * \brief Validator for native Swagger float.
105 * \param json JSON object to validate.
106 * \returns True (non-zero) if valid.
107 * \returns False (zero) if invalid.
109 int ast_ari_validate_float(struct ast_json *json);
112 * \brief Validator for native Swagger double.
114 * \param json JSON object to validate.
115 * \returns True (non-zero) if valid.
116 * \returns False (zero) if invalid.
118 int ast_ari_validate_double(struct ast_json *json);
121 * \brief Validator for native Swagger string.
123 * \param json JSON object to validate.
124 * \returns True (non-zero) if valid.
125 * \returns False (zero) if invalid.
127 int ast_ari_validate_string(struct ast_json *json);
130 * \brief Validator for native Swagger date.
132 * \param json JSON object to validate.
133 * \returns True (non-zero) if valid.
134 * \returns False (zero) if invalid.
136 int ast_ari_validate_date(struct ast_json *json);
139 * \brief Validator for a Swagger List[]/JSON array.
141 * \param json JSON object to validate.
142 * \param fn Validator to call on every element in the array.
143 * \returns True (non-zero) if valid.
144 * \returns False (zero) if invalid.
146 int ast_ari_validate_list(struct ast_json *json, int (*fn)(struct ast_json *));
151 * \brief Function type for validator functions. Allows for
153 typedef int (*ari_validator)(struct ast_json *json);
156 * \brief Validator for AsteriskInfo.
158 * Asterisk system information
160 * \param json JSON object to validate.
161 * \returns True (non-zero) if valid.
162 * \returns False (zero) if invalid.
164 int ast_ari_validate_asterisk_info(struct ast_json *json);
167 * \brief Function pointer to ast_ari_validate_asterisk_info().
169 * See \ref ast_ari_model_validators.h for more details.
171 ari_validator ast_ari_validate_asterisk_info_fn(void);
174 * \brief Validator for BuildInfo.
176 * Info about how Asterisk was built
178 * \param json JSON object to validate.
179 * \returns True (non-zero) if valid.
180 * \returns False (zero) if invalid.
182 int ast_ari_validate_build_info(struct ast_json *json);
185 * \brief Function pointer to ast_ari_validate_build_info().
187 * See \ref ast_ari_model_validators.h for more details.
189 ari_validator ast_ari_validate_build_info_fn(void);
192 * \brief Validator for ConfigInfo.
194 * Info about Asterisk configuration
196 * \param json JSON object to validate.
197 * \returns True (non-zero) if valid.
198 * \returns False (zero) if invalid.
200 int ast_ari_validate_config_info(struct ast_json *json);
203 * \brief Function pointer to ast_ari_validate_config_info().
205 * See \ref ast_ari_model_validators.h for more details.
207 ari_validator ast_ari_validate_config_info_fn(void);
210 * \brief Validator for SetId.
212 * Effective user/group id
214 * \param json JSON object to validate.
215 * \returns True (non-zero) if valid.
216 * \returns False (zero) if invalid.
218 int ast_ari_validate_set_id(struct ast_json *json);
221 * \brief Function pointer to ast_ari_validate_set_id().
223 * See \ref ast_ari_model_validators.h for more details.
225 ari_validator ast_ari_validate_set_id_fn(void);
228 * \brief Validator for StatusInfo.
230 * Info about Asterisk status
232 * \param json JSON object to validate.
233 * \returns True (non-zero) if valid.
234 * \returns False (zero) if invalid.
236 int ast_ari_validate_status_info(struct ast_json *json);
239 * \brief Function pointer to ast_ari_validate_status_info().
241 * See \ref ast_ari_model_validators.h for more details.
243 ari_validator ast_ari_validate_status_info_fn(void);
246 * \brief Validator for SystemInfo.
248 * Info about Asterisk
250 * \param json JSON object to validate.
251 * \returns True (non-zero) if valid.
252 * \returns False (zero) if invalid.
254 int ast_ari_validate_system_info(struct ast_json *json);
257 * \brief Function pointer to ast_ari_validate_system_info().
259 * See \ref ast_ari_model_validators.h for more details.
261 ari_validator ast_ari_validate_system_info_fn(void);
264 * \brief Validator for Variable.
266 * The value of a channel variable
268 * \param json JSON object to validate.
269 * \returns True (non-zero) if valid.
270 * \returns False (zero) if invalid.
272 int ast_ari_validate_variable(struct ast_json *json);
275 * \brief Function pointer to ast_ari_validate_variable().
277 * See \ref ast_ari_model_validators.h for more details.
279 ari_validator ast_ari_validate_variable_fn(void);
282 * \brief Validator for Endpoint.
284 * An external device that may offer/accept calls to/from Asterisk.
286 * Unlike most resources, which have a single unique identifier, an endpoint is uniquely identified by the technology/resource pair.
288 * \param json JSON object to validate.
289 * \returns True (non-zero) if valid.
290 * \returns False (zero) if invalid.
292 int ast_ari_validate_endpoint(struct ast_json *json);
295 * \brief Function pointer to ast_ari_validate_endpoint().
297 * See \ref ast_ari_model_validators.h for more details.
299 ari_validator ast_ari_validate_endpoint_fn(void);
302 * \brief Validator for CallerID.
304 * Caller identification
306 * \param json JSON object to validate.
307 * \returns True (non-zero) if valid.
308 * \returns False (zero) if invalid.
310 int ast_ari_validate_caller_id(struct ast_json *json);
313 * \brief Function pointer to ast_ari_validate_caller_id().
315 * See \ref ast_ari_model_validators.h for more details.
317 ari_validator ast_ari_validate_caller_id_fn(void);
320 * \brief Validator for Channel.
322 * A specific communication connection between Asterisk and an Endpoint.
324 * \param json JSON object to validate.
325 * \returns True (non-zero) if valid.
326 * \returns False (zero) if invalid.
328 int ast_ari_validate_channel(struct ast_json *json);
331 * \brief Function pointer to ast_ari_validate_channel().
333 * See \ref ast_ari_model_validators.h for more details.
335 ari_validator ast_ari_validate_channel_fn(void);
338 * \brief Validator for Dialed.
340 * Dialed channel information.
342 * \param json JSON object to validate.
343 * \returns True (non-zero) if valid.
344 * \returns False (zero) if invalid.
346 int ast_ari_validate_dialed(struct ast_json *json);
349 * \brief Function pointer to ast_ari_validate_dialed().
351 * See \ref ast_ari_model_validators.h for more details.
353 ari_validator ast_ari_validate_dialed_fn(void);
356 * \brief Validator for DialplanCEP.
358 * Dialplan location (context/extension/priority)
360 * \param json JSON object to validate.
361 * \returns True (non-zero) if valid.
362 * \returns False (zero) if invalid.
364 int ast_ari_validate_dialplan_cep(struct ast_json *json);
367 * \brief Function pointer to ast_ari_validate_dialplan_cep().
369 * See \ref ast_ari_model_validators.h for more details.
371 ari_validator ast_ari_validate_dialplan_cep_fn(void);
374 * \brief Validator for Bridge.
376 * The merging of media from one or more channels.
378 * Everyone on the bridge receives the same audio.
380 * \param json JSON object to validate.
381 * \returns True (non-zero) if valid.
382 * \returns False (zero) if invalid.
384 int ast_ari_validate_bridge(struct ast_json *json);
387 * \brief Function pointer to ast_ari_validate_bridge().
389 * See \ref ast_ari_model_validators.h for more details.
391 ari_validator ast_ari_validate_bridge_fn(void);
394 * \brief Validator for LiveRecording.
396 * A recording that is in progress
398 * \param json JSON object to validate.
399 * \returns True (non-zero) if valid.
400 * \returns False (zero) if invalid.
402 int ast_ari_validate_live_recording(struct ast_json *json);
405 * \brief Function pointer to ast_ari_validate_live_recording().
407 * See \ref ast_ari_model_validators.h for more details.
409 ari_validator ast_ari_validate_live_recording_fn(void);
412 * \brief Validator for StoredRecording.
414 * A past recording that may be played back.
416 * \param json JSON object to validate.
417 * \returns True (non-zero) if valid.
418 * \returns False (zero) if invalid.
420 int ast_ari_validate_stored_recording(struct ast_json *json);
423 * \brief Function pointer to ast_ari_validate_stored_recording().
425 * See \ref ast_ari_model_validators.h for more details.
427 ari_validator ast_ari_validate_stored_recording_fn(void);
430 * \brief Validator for FormatLangPair.
432 * Identifies the format and language of a sound file
434 * \param json JSON object to validate.
435 * \returns True (non-zero) if valid.
436 * \returns False (zero) if invalid.
438 int ast_ari_validate_format_lang_pair(struct ast_json *json);
441 * \brief Function pointer to ast_ari_validate_format_lang_pair().
443 * See \ref ast_ari_model_validators.h for more details.
445 ari_validator ast_ari_validate_format_lang_pair_fn(void);
448 * \brief Validator for Sound.
450 * A media file that may be played back.
452 * \param json JSON object to validate.
453 * \returns True (non-zero) if valid.
454 * \returns False (zero) if invalid.
456 int ast_ari_validate_sound(struct ast_json *json);
459 * \brief Function pointer to ast_ari_validate_sound().
461 * See \ref ast_ari_model_validators.h for more details.
463 ari_validator ast_ari_validate_sound_fn(void);
466 * \brief Validator for Playback.
468 * Object representing the playback of media to a channel
470 * \param json JSON object to validate.
471 * \returns True (non-zero) if valid.
472 * \returns False (zero) if invalid.
474 int ast_ari_validate_playback(struct ast_json *json);
477 * \brief Function pointer to ast_ari_validate_playback().
479 * See \ref ast_ari_model_validators.h for more details.
481 ari_validator ast_ari_validate_playback_fn(void);
484 * \brief Validator for DeviceState.
486 * Represents the state of a device.
488 * \param json JSON object to validate.
489 * \returns True (non-zero) if valid.
490 * \returns False (zero) if invalid.
492 int ast_ari_validate_device_state(struct ast_json *json);
495 * \brief Function pointer to ast_ari_validate_device_state().
497 * See \ref ast_ari_model_validators.h for more details.
499 ari_validator ast_ari_validate_device_state_fn(void);
502 * \brief Validator for Mailbox.
504 * Represents the state of a mailbox.
506 * \param json JSON object to validate.
507 * \returns True (non-zero) if valid.
508 * \returns False (zero) if invalid.
510 int ast_ari_validate_mailbox(struct ast_json *json);
513 * \brief Function pointer to ast_ari_validate_mailbox().
515 * See \ref ast_ari_model_validators.h for more details.
517 ari_validator ast_ari_validate_mailbox_fn(void);
520 * \brief Validator for ApplicationReplaced.
522 * Notification that another WebSocket has taken over for an application.
524 * An application may only be subscribed to by a single WebSocket at a time. If multiple WebSockets attempt to subscribe to the same application, the newer WebSocket wins, and the older one receives this event.
526 * \param json JSON object to validate.
527 * \returns True (non-zero) if valid.
528 * \returns False (zero) if invalid.
530 int ast_ari_validate_application_replaced(struct ast_json *json);
533 * \brief Function pointer to ast_ari_validate_application_replaced().
535 * See \ref ast_ari_model_validators.h for more details.
537 ari_validator ast_ari_validate_application_replaced_fn(void);
540 * \brief Validator for BridgeCreated.
542 * Notification that a bridge has been created.
544 * \param json JSON object to validate.
545 * \returns True (non-zero) if valid.
546 * \returns False (zero) if invalid.
548 int ast_ari_validate_bridge_created(struct ast_json *json);
551 * \brief Function pointer to ast_ari_validate_bridge_created().
553 * See \ref ast_ari_model_validators.h for more details.
555 ari_validator ast_ari_validate_bridge_created_fn(void);
558 * \brief Validator for BridgeDestroyed.
560 * Notification that a bridge has been destroyed.
562 * \param json JSON object to validate.
563 * \returns True (non-zero) if valid.
564 * \returns False (zero) if invalid.
566 int ast_ari_validate_bridge_destroyed(struct ast_json *json);
569 * \brief Function pointer to ast_ari_validate_bridge_destroyed().
571 * See \ref ast_ari_model_validators.h for more details.
573 ari_validator ast_ari_validate_bridge_destroyed_fn(void);
576 * \brief Validator for BridgeMerged.
578 * Notification that one bridge has merged into another.
580 * \param json JSON object to validate.
581 * \returns True (non-zero) if valid.
582 * \returns False (zero) if invalid.
584 int ast_ari_validate_bridge_merged(struct ast_json *json);
587 * \brief Function pointer to ast_ari_validate_bridge_merged().
589 * See \ref ast_ari_model_validators.h for more details.
591 ari_validator ast_ari_validate_bridge_merged_fn(void);
594 * \brief Validator for ChannelCallerId.
596 * Channel changed Caller ID.
598 * \param json JSON object to validate.
599 * \returns True (non-zero) if valid.
600 * \returns False (zero) if invalid.
602 int ast_ari_validate_channel_caller_id(struct ast_json *json);
605 * \brief Function pointer to ast_ari_validate_channel_caller_id().
607 * See \ref ast_ari_model_validators.h for more details.
609 ari_validator ast_ari_validate_channel_caller_id_fn(void);
612 * \brief Validator for ChannelCreated.
614 * Notification that a channel has been created.
616 * \param json JSON object to validate.
617 * \returns True (non-zero) if valid.
618 * \returns False (zero) if invalid.
620 int ast_ari_validate_channel_created(struct ast_json *json);
623 * \brief Function pointer to ast_ari_validate_channel_created().
625 * See \ref ast_ari_model_validators.h for more details.
627 ari_validator ast_ari_validate_channel_created_fn(void);
630 * \brief Validator for ChannelDestroyed.
632 * Notification that a channel has been destroyed.
634 * \param json JSON object to validate.
635 * \returns True (non-zero) if valid.
636 * \returns False (zero) if invalid.
638 int ast_ari_validate_channel_destroyed(struct ast_json *json);
641 * \brief Function pointer to ast_ari_validate_channel_destroyed().
643 * See \ref ast_ari_model_validators.h for more details.
645 ari_validator ast_ari_validate_channel_destroyed_fn(void);
648 * \brief Validator for ChannelDialplan.
650 * Channel changed location in the dialplan.
652 * \param json JSON object to validate.
653 * \returns True (non-zero) if valid.
654 * \returns False (zero) if invalid.
656 int ast_ari_validate_channel_dialplan(struct ast_json *json);
659 * \brief Function pointer to ast_ari_validate_channel_dialplan().
661 * See \ref ast_ari_model_validators.h for more details.
663 ari_validator ast_ari_validate_channel_dialplan_fn(void);
666 * \brief Validator for ChannelDtmfReceived.
668 * DTMF received on a channel.
670 * This event is sent when the DTMF ends. There is no notification about the start of DTMF
672 * \param json JSON object to validate.
673 * \returns True (non-zero) if valid.
674 * \returns False (zero) if invalid.
676 int ast_ari_validate_channel_dtmf_received(struct ast_json *json);
679 * \brief Function pointer to ast_ari_validate_channel_dtmf_received().
681 * See \ref ast_ari_model_validators.h for more details.
683 ari_validator ast_ari_validate_channel_dtmf_received_fn(void);
686 * \brief Validator for ChannelEnteredBridge.
688 * Notification that a channel has entered a bridge.
690 * \param json JSON object to validate.
691 * \returns True (non-zero) if valid.
692 * \returns False (zero) if invalid.
694 int ast_ari_validate_channel_entered_bridge(struct ast_json *json);
697 * \brief Function pointer to ast_ari_validate_channel_entered_bridge().
699 * See \ref ast_ari_model_validators.h for more details.
701 ari_validator ast_ari_validate_channel_entered_bridge_fn(void);
704 * \brief Validator for ChannelHangupRequest.
706 * A hangup was requested on the channel.
708 * \param json JSON object to validate.
709 * \returns True (non-zero) if valid.
710 * \returns False (zero) if invalid.
712 int ast_ari_validate_channel_hangup_request(struct ast_json *json);
715 * \brief Function pointer to ast_ari_validate_channel_hangup_request().
717 * See \ref ast_ari_model_validators.h for more details.
719 ari_validator ast_ari_validate_channel_hangup_request_fn(void);
722 * \brief Validator for ChannelLeftBridge.
724 * Notification that a channel has left a bridge.
726 * \param json JSON object to validate.
727 * \returns True (non-zero) if valid.
728 * \returns False (zero) if invalid.
730 int ast_ari_validate_channel_left_bridge(struct ast_json *json);
733 * \brief Function pointer to ast_ari_validate_channel_left_bridge().
735 * See \ref ast_ari_model_validators.h for more details.
737 ari_validator ast_ari_validate_channel_left_bridge_fn(void);
740 * \brief Validator for ChannelStateChange.
742 * Notification of a channel's state change.
744 * \param json JSON object to validate.
745 * \returns True (non-zero) if valid.
746 * \returns False (zero) if invalid.
748 int ast_ari_validate_channel_state_change(struct ast_json *json);
751 * \brief Function pointer to ast_ari_validate_channel_state_change().
753 * See \ref ast_ari_model_validators.h for more details.
755 ari_validator ast_ari_validate_channel_state_change_fn(void);
758 * \brief Validator for ChannelUserevent.
760 * User-generated event with additional user-defined fields in the object.
762 * \param json JSON object to validate.
763 * \returns True (non-zero) if valid.
764 * \returns False (zero) if invalid.
766 int ast_ari_validate_channel_userevent(struct ast_json *json);
769 * \brief Function pointer to ast_ari_validate_channel_userevent().
771 * See \ref ast_ari_model_validators.h for more details.
773 ari_validator ast_ari_validate_channel_userevent_fn(void);
776 * \brief Validator for ChannelVarset.
778 * Channel variable changed.
780 * \param json JSON object to validate.
781 * \returns True (non-zero) if valid.
782 * \returns False (zero) if invalid.
784 int ast_ari_validate_channel_varset(struct ast_json *json);
787 * \brief Function pointer to ast_ari_validate_channel_varset().
789 * See \ref ast_ari_model_validators.h for more details.
791 ari_validator ast_ari_validate_channel_varset_fn(void);
794 * \brief Validator for DeviceStateChanged.
796 * Notification that a device state has changed.
798 * \param json JSON object to validate.
799 * \returns True (non-zero) if valid.
800 * \returns False (zero) if invalid.
802 int ast_ari_validate_device_state_changed(struct ast_json *json);
805 * \brief Function pointer to ast_ari_validate_device_state_changed().
807 * See \ref ast_ari_model_validators.h for more details.
809 ari_validator ast_ari_validate_device_state_changed_fn(void);
812 * \brief Validator for Dial.
814 * Dialing state has changed.
816 * \param json JSON object to validate.
817 * \returns True (non-zero) if valid.
818 * \returns False (zero) if invalid.
820 int ast_ari_validate_dial(struct ast_json *json);
823 * \brief Function pointer to ast_ari_validate_dial().
825 * See \ref ast_ari_model_validators.h for more details.
827 ari_validator ast_ari_validate_dial_fn(void);
830 * \brief Validator for EndpointStateChange.
832 * Endpoint state changed.
834 * \param json JSON object to validate.
835 * \returns True (non-zero) if valid.
836 * \returns False (zero) if invalid.
838 int ast_ari_validate_endpoint_state_change(struct ast_json *json);
841 * \brief Function pointer to ast_ari_validate_endpoint_state_change().
843 * See \ref ast_ari_model_validators.h for more details.
845 ari_validator ast_ari_validate_endpoint_state_change_fn(void);
848 * \brief Validator for Event.
850 * Base type for asynchronous events from Asterisk.
852 * \param json JSON object to validate.
853 * \returns True (non-zero) if valid.
854 * \returns False (zero) if invalid.
856 int ast_ari_validate_event(struct ast_json *json);
859 * \brief Function pointer to ast_ari_validate_event().
861 * See \ref ast_ari_model_validators.h for more details.
863 ari_validator ast_ari_validate_event_fn(void);
866 * \brief Validator for Message.
868 * Base type for errors and events
870 * \param json JSON object to validate.
871 * \returns True (non-zero) if valid.
872 * \returns False (zero) if invalid.
874 int ast_ari_validate_message(struct ast_json *json);
877 * \brief Function pointer to ast_ari_validate_message().
879 * See \ref ast_ari_model_validators.h for more details.
881 ari_validator ast_ari_validate_message_fn(void);
884 * \brief Validator for MissingParams.
886 * Error event sent when required params are missing.
888 * \param json JSON object to validate.
889 * \returns True (non-zero) if valid.
890 * \returns False (zero) if invalid.
892 int ast_ari_validate_missing_params(struct ast_json *json);
895 * \brief Function pointer to ast_ari_validate_missing_params().
897 * See \ref ast_ari_model_validators.h for more details.
899 ari_validator ast_ari_validate_missing_params_fn(void);
902 * \brief Validator for PlaybackFinished.
904 * Event showing the completion of a media playback operation.
906 * \param json JSON object to validate.
907 * \returns True (non-zero) if valid.
908 * \returns False (zero) if invalid.
910 int ast_ari_validate_playback_finished(struct ast_json *json);
913 * \brief Function pointer to ast_ari_validate_playback_finished().
915 * See \ref ast_ari_model_validators.h for more details.
917 ari_validator ast_ari_validate_playback_finished_fn(void);
920 * \brief Validator for PlaybackStarted.
922 * Event showing the start of a media playback operation.
924 * \param json JSON object to validate.
925 * \returns True (non-zero) if valid.
926 * \returns False (zero) if invalid.
928 int ast_ari_validate_playback_started(struct ast_json *json);
931 * \brief Function pointer to ast_ari_validate_playback_started().
933 * See \ref ast_ari_model_validators.h for more details.
935 ari_validator ast_ari_validate_playback_started_fn(void);
938 * \brief Validator for RecordingFailed.
940 * Event showing failure of a recording operation.
942 * \param json JSON object to validate.
943 * \returns True (non-zero) if valid.
944 * \returns False (zero) if invalid.
946 int ast_ari_validate_recording_failed(struct ast_json *json);
949 * \brief Function pointer to ast_ari_validate_recording_failed().
951 * See \ref ast_ari_model_validators.h for more details.
953 ari_validator ast_ari_validate_recording_failed_fn(void);
956 * \brief Validator for RecordingFinished.
958 * Event showing the completion of a recording operation.
960 * \param json JSON object to validate.
961 * \returns True (non-zero) if valid.
962 * \returns False (zero) if invalid.
964 int ast_ari_validate_recording_finished(struct ast_json *json);
967 * \brief Function pointer to ast_ari_validate_recording_finished().
969 * See \ref ast_ari_model_validators.h for more details.
971 ari_validator ast_ari_validate_recording_finished_fn(void);
974 * \brief Validator for RecordingStarted.
976 * Event showing the start of a recording operation.
978 * \param json JSON object to validate.
979 * \returns True (non-zero) if valid.
980 * \returns False (zero) if invalid.
982 int ast_ari_validate_recording_started(struct ast_json *json);
985 * \brief Function pointer to ast_ari_validate_recording_started().
987 * See \ref ast_ari_model_validators.h for more details.
989 ari_validator ast_ari_validate_recording_started_fn(void);
992 * \brief Validator for StasisEnd.
994 * Notification that a channel has left a Stasis application.
996 * \param json JSON object to validate.
997 * \returns True (non-zero) if valid.
998 * \returns False (zero) if invalid.
1000 int ast_ari_validate_stasis_end(struct ast_json *json);
1003 * \brief Function pointer to ast_ari_validate_stasis_end().
1005 * See \ref ast_ari_model_validators.h for more details.
1007 ari_validator ast_ari_validate_stasis_end_fn(void);
1010 * \brief Validator for StasisStart.
1012 * Notification that a channel has entered a Stasis application.
1014 * \param json JSON object to validate.
1015 * \returns True (non-zero) if valid.
1016 * \returns False (zero) if invalid.
1018 int ast_ari_validate_stasis_start(struct ast_json *json);
1021 * \brief Function pointer to ast_ari_validate_stasis_start().
1023 * See \ref ast_ari_model_validators.h for more details.
1025 ari_validator ast_ari_validate_stasis_start_fn(void);
1028 * \brief Validator for Application.
1030 * Details of a Stasis application
1032 * \param json JSON object to validate.
1033 * \returns True (non-zero) if valid.
1034 * \returns False (zero) if invalid.
1036 int ast_ari_validate_application(struct ast_json *json);
1039 * \brief Function pointer to ast_ari_validate_application().
1041 * See \ref ast_ari_model_validators.h for more details.
1043 ari_validator ast_ari_validate_application_fn(void);
1049 * - build: BuildInfo
1050 * - config: ConfigInfo
1051 * - status: StatusInfo
1052 * - system: SystemInfo
1054 * - date: string (required)
1055 * - kernel: string (required)
1056 * - machine: string (required)
1057 * - options: string (required)
1058 * - os: string (required)
1059 * - user: string (required)
1061 * - default_language: string (required)
1062 * - max_channels: int
1063 * - max_load: double
1064 * - max_open_files: int
1065 * - name: string (required)
1066 * - setid: SetId (required)
1068 * - group: string (required)
1069 * - user: string (required)
1071 * - last_reload_time: Date (required)
1072 * - startup_time: Date (required)
1074 * - entity_id: string (required)
1075 * - version: string (required)
1077 * - value: string (required)
1079 * - channel_ids: List[string] (required)
1080 * - resource: string (required)
1082 * - technology: string (required)
1084 * - name: string (required)
1085 * - number: string (required)
1087 * - accountcode: string (required)
1088 * - caller: CallerID (required)
1089 * - connected: CallerID (required)
1090 * - creationtime: Date (required)
1091 * - dialplan: DialplanCEP (required)
1092 * - id: string (required)
1093 * - name: string (required)
1094 * - state: string (required)
1097 * - context: string (required)
1098 * - exten: string (required)
1099 * - priority: long (required)
1101 * - bridge_class: string (required)
1102 * - bridge_type: string (required)
1103 * - channels: List[string] (required)
1104 * - creator: string (required)
1105 * - id: string (required)
1106 * - name: string (required)
1107 * - technology: string (required)
1110 * - format: string (required)
1111 * - name: string (required)
1112 * - state: string (required)
1114 * - format: string (required)
1115 * - name: string (required)
1117 * - format: string (required)
1118 * - language: string (required)
1120 * - formats: List[FormatLangPair] (required)
1121 * - id: string (required)
1124 * - id: string (required)
1125 * - language: string
1126 * - media_uri: string (required)
1127 * - state: string (required)
1128 * - target_uri: string (required)
1130 * - name: string (required)
1131 * - state: string (required)
1133 * - name: string (required)
1134 * - new_messages: int (required)
1135 * - old_messages: int (required)
1136 * ApplicationReplaced
1137 * - type: string (required)
1138 * - application: string (required)
1141 * - type: string (required)
1142 * - application: string (required)
1144 * - bridge: Bridge (required)
1146 * - type: string (required)
1147 * - application: string (required)
1149 * - bridge: Bridge (required)
1151 * - type: string (required)
1152 * - application: string (required)
1154 * - bridge: Bridge (required)
1155 * - bridge_from: Bridge (required)
1157 * - type: string (required)
1158 * - application: string (required)
1160 * - caller_presentation: int (required)
1161 * - caller_presentation_txt: string (required)
1162 * - channel: Channel (required)
1164 * - type: string (required)
1165 * - application: string (required)
1167 * - channel: Channel (required)
1169 * - type: string (required)
1170 * - application: string (required)
1172 * - cause: int (required)
1173 * - cause_txt: string (required)
1174 * - channel: Channel (required)
1176 * - type: string (required)
1177 * - application: string (required)
1179 * - channel: Channel (required)
1180 * - dialplan_app: string (required)
1181 * - dialplan_app_data: string (required)
1182 * ChannelDtmfReceived
1183 * - type: string (required)
1184 * - application: string (required)
1186 * - channel: Channel (required)
1187 * - digit: string (required)
1188 * - duration_ms: int (required)
1189 * ChannelEnteredBridge
1190 * - type: string (required)
1191 * - application: string (required)
1193 * - bridge: Bridge (required)
1194 * - channel: Channel
1195 * ChannelHangupRequest
1196 * - type: string (required)
1197 * - application: string (required)
1200 * - channel: Channel (required)
1203 * - type: string (required)
1204 * - application: string (required)
1206 * - bridge: Bridge (required)
1207 * - channel: Channel (required)
1208 * ChannelStateChange
1209 * - type: string (required)
1210 * - application: string (required)
1212 * - channel: Channel (required)
1214 * - type: string (required)
1215 * - application: string (required)
1217 * - channel: Channel (required)
1218 * - eventname: string (required)
1219 * - userevent: object (required)
1221 * - type: string (required)
1222 * - application: string (required)
1224 * - channel: Channel
1225 * - value: string (required)
1226 * - variable: string (required)
1227 * DeviceStateChanged
1228 * - type: string (required)
1229 * - application: string (required)
1231 * - device_state: DeviceState (required)
1233 * - type: string (required)
1234 * - application: string (required)
1237 * - dialstatus: string (required)
1238 * - dialstring: string
1240 * - forwarded: Channel
1241 * - peer: Channel (required)
1242 * EndpointStateChange
1243 * - type: string (required)
1244 * - application: string (required)
1246 * - endpoint: Endpoint (required)
1248 * - type: string (required)
1249 * - application: string (required)
1252 * - type: string (required)
1254 * - type: string (required)
1255 * - params: List[string] (required)
1257 * - type: string (required)
1258 * - application: string (required)
1260 * - playback: Playback (required)
1262 * - type: string (required)
1263 * - application: string (required)
1265 * - playback: Playback (required)
1267 * - type: string (required)
1268 * - application: string (required)
1270 * - recording: LiveRecording (required)
1272 * - type: string (required)
1273 * - application: string (required)
1275 * - recording: LiveRecording (required)
1277 * - type: string (required)
1278 * - application: string (required)
1280 * - recording: LiveRecording (required)
1282 * - type: string (required)
1283 * - application: string (required)
1285 * - channel: Channel (required)
1287 * - type: string (required)
1288 * - application: string (required)
1290 * - args: List[string] (required)
1291 * - channel: Channel (required)
1293 * - bridge_ids: List[string] (required)
1294 * - channel_ids: List[string] (required)
1295 * - device_names: List[string] (required)
1296 * - endpoint_ids: List[string] (required)
1297 * - name: string (required)
1300 #endif /* _ASTERISK_ARI_MODEL_H */