epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / corba-idl / parlay / pam_data.idl
blob7b862faf6f2ff038b53e73293703563f37622115
1 //Source file: pam_data.idl
2 //Date: 13 October 2004
3 //Presence and Availability Management Data Types for ES 203 915-14 V1.1.1, DES/TISPAN-01005-14-OSA, Parlay 5.0
5 #ifndef __PAM_DATA_DEFINED
6 #define __PAM_DATA_DEFINED
9 #include "osa.idl"
11 module org {
13 module csapi {
15 module pam {
18 typedef TpInt64 TpPAMTimeInterval;
21 typedef TpURN TpPAMFQName;
24 typedef sequence <TpPAMFQName> TpPAMFQNameList;
27 typedef TpOctetSet TpPAMCredential;
30 typedef TpString TpPAMCapability;
33 typedef sequence <TpPAMCapability> TpPAMCapabilityList;
36 struct TpPAMAttributeDef {
37 TpString Name;
38 TpString Type;
39 TpBoolean IsStatic;
40 TpBoolean IsRevertOnExpiration;
41 TpAny DefaultValues;
45 typedef sequence <TpPAMAttributeDef> TpPAMAttributeDefList;
48 struct TpPAMAttribute {
49 TpString AttributeName;
50 TpAttributeValue AttributeValue;
51 TpPAMTimeInterval ExpiresIn;
55 typedef sequence <TpPAMAttribute> TpPAMAttributeList;
57 const TpInt64 PAM_MAX_LONGINT = 0x7fffffff;
59 exception P_PAM_UNKNOWN_TYPE {
60 TpString ExtraInformation;
64 exception P_PAM_UNKNOWN_MEMBER {
65 TpString ExtraInformation;
69 exception P_PAM_UNKNOWN_IDENTITY {
70 TpString ExtraInformation;
74 exception P_PAM_UNKNOWN_GROUP {
75 TpString ExtraInformation;
79 exception P_PAM_UNKNOWN_CAPABILITY {
80 TpString ExtraInformation;
84 exception P_PAM_UNKNOWN_ATTRIBUTES {
85 TpString ExtraInformation;
89 exception P_PAM_UNKNOWN_ATTRIBUTE {
90 TpString ExtraInformation;
94 exception P_PAM_UNKNOWN_ASSIGNMENT {
95 TpString ExtraInformation;
99 exception P_PAM_UNKNOWN_ALIAS {
100 TpString ExtraInformation;
104 exception P_PAM_UNKNOWN_AGENT {
105 TpString ExtraInformation;
109 exception P_PAM_UNASSIGNED_ALIAS {
110 TpString ExtraInformation;
114 exception P_PAM_TYPE_EXISTS {
115 TpString ExtraInformation;
119 exception P_PAM_TYPE_ASSOCIATED {
120 TpString ExtraInformation;
124 exception P_PAM_NOT_REGISTERED {
125 TpString ExtraInformation;
129 exception P_PAM_NOT_MEMBER {
130 TpString ExtraInformation;
134 exception P_PAM_NO_CAPABILITY {
135 TpString ExtraInformation;
139 exception P_PAM_MEMBER_EXISTS {
140 TpString ExtraInformation;
144 exception P_PAM_IS_CYCLIC {
145 TpString ExtraInformation;
149 exception P_PAM_IDENTITY_EXISTS {
150 TpString ExtraInformation;
154 exception P_PAM_DISASSOCIATED_TYPE {
155 TpString ExtraInformation;
159 exception P_PAM_ATTRIBUTE_EXISTS {
160 TpString ExtraInformation;
164 exception P_PAM_ALIAS_NOT_UNIQUE {
165 TpString ExtraInformation;
169 exception P_PAM_ALIAS_EXISTS {
170 TpString ExtraInformation;
174 exception P_PAM_AGENT_EXISTS {
175 TpString ExtraInformation;
179 struct TpPAMPresenceData {
180 TpString Name;
181 TpString subscriberStatus;
182 TpString networkStatus;
183 TpPAMCapability communicationMeans;
184 TpAddress contactAddress;
185 TpString subscriberProvidedLocation;
186 TpString networkProvidedLocation;
187 TpInt32 Priority;
188 TpString otherInfo;
192 typedef sequence <TpPAMPresenceData> TpPAMPresenceDataList;
195 typedef TpString TpPAMPrivacyCode;
198 struct TpPAMAvailabilityProfile {
199 TpPAMPrivacyCode PrivacyCode;
200 TpPAMPresenceData AvailabilityData;
204 typedef sequence <TpPAMAvailabilityProfile> TpPAMAvailabilityProfileList;
207 enum TpPAMContextName {
209 PAM_CONTEXT_ANY,
210 PAM_CONTEXT_COMMUNICATION
214 struct TpPAMCommunicationContext {
215 TpPAMCapability CommunicationCapability;
219 union TpPAMContextData switch(TpPAMContextName) {
220 case PAM_CONTEXT_COMMUNICATION: TpPAMCommunicationContext CommunicationContext;
221 default: short Dummy;
225 struct TpPAMContext {
226 TpPAMContextData ContextData;
227 TpAttributeList AskerData;
231 typedef sequence <TpPAMContext> TpPAMContextList;
234 enum TpPAMACLDefault {
236 PAM_ACCESS_ALLOW,
237 PAM_ACCESS_DENY
241 struct TpPAMAccessControlData {
242 TpPAMACLDefault DefaultPolicy;
243 TpPAMFQNameList AllowList;
244 TpPAMFQNameList DenyList;
248 typedef TpString TpPAMPreferenceOp;
251 enum TpPAMPreferenceType {
253 PAM_ACCESS_LIST,
254 PAM_EXTERNAL_CONTROL
258 enum TpPAMEventName {
260 PAM_CE_IDENTITY_PRESENCE_SET,
261 PAM_CE_AVAILABILITY_CHANGED,
262 PAM_CE_WATCHERS_CHANGED,
263 PAM_CE_IDENTITY_CREATED,
264 PAM_CE_IDENTITY_DELETED,
265 PAM_CE_GROUP_MEMBERSHIP_CHANGED,
266 PAM_CE_AGENT_CREATED,
267 PAM_CE_AGENT_DELETED,
268 PAM_CE_AGENT_ASSIGNED,
269 PAM_CE_AGENT_UNASSIGNED,
270 PAM_CE_CAPABILITY_CHANGED,
271 PAM_CE_AGENT_CAPABILITY_PRESENCE_SET,
272 PAM_CE_AGENT_PRESENCE_SET
276 typedef sequence <TpPAMEventName> TpPAMEventNameList;
279 struct TpPAMICEventData {
280 TpStringList IdentityType;
284 struct TpPAMICNotificationData {
285 TpPAMFQNameList Identities;
289 struct TpPAMIDEventData {
290 TpPAMFQNameList IdentityName;
291 TpStringList IdentityType;
295 struct TpPAMIDNotificationData {
296 TpPAMFQNameList Identities;
300 struct TpPAMGMCEventData {
301 TpPAMFQNameList GroupName;
302 TpStringList GroupType;
306 struct TpPAMGMCNotificationData {
307 TpPAMFQNameList Groups;
311 struct TpPAMACEventData {
312 TpStringList AgentType;
316 struct TpPAMACNotificationData {
317 TpPAMFQNameList Agents;
321 struct TpPAMADEventData {
322 TpPAMFQNameList AgentName;
323 TpStringList AgentType;
327 struct TpPAMADNotificationData {
328 TpPAMFQNameList Agents;
332 struct TpPAMAAEventData {
333 TpPAMFQNameList IdentityName;
334 TpStringList IdentityType;
335 TpPAMFQNameList AgentName;
336 TpStringList AgentType;
340 struct TpPAMAANotificationData {
341 TpPAMFQName Identity;
342 TpPAMFQName Agent;
346 struct TpPAMAUEventData {
347 TpPAMFQNameList IdentityName;
348 TpStringList IdentityType;
349 TpPAMFQNameList AgentName;
350 TpStringList AgentType;
354 struct TpPAMAUNotificationData {
355 TpPAMFQName Identity;
356 TpPAMFQName Agent;
360 struct TpPAMCCEventData {
361 TpPAMFQNameList IdentityName;
362 TpStringList IdentityType;
363 TpPAMCapabilityList Capabilities;
367 struct TpPAMCCNotificationData {
368 TpPAMFQName Identity;
369 TpPAMCapabilityList Capabilities;
373 struct TpPAMACPSEventData {
374 TpPAMFQNameList AgentName;
375 TpStringList AgentType;
376 TpPAMCapabilityList Capabilities;
377 TpStringList AttributeNames;
378 TpPAMTimeInterval ReportingPeriod;
382 struct TpPAMACPSNotificationData {
383 TpPAMFQName Agent;
384 TpPAMCapability Capability;
385 TpStringList AttributeNames;
389 struct TpPAMAPSEventData {
390 TpPAMFQNameList AgentName;
391 TpStringList AgentType;
392 TpStringList AttributeNames;
393 TpPAMTimeInterval ReportingPeriod;
397 struct TpPAMAPSNotificationData {
398 TpPAMFQName Agent;
399 TpStringList AttributeNames;
403 struct TpPAMIPSEventData {
404 TpPAMFQNameList IdentityName;
405 TpStringList IdentityType;
406 TpStringList AttributeNames;
407 TpPAMTimeInterval ReportingPeriod;
411 struct TpPAMIPSNotificationData {
412 TpPAMFQName Identity;
413 TpPAMPresenceDataList Attributes;
417 struct TpPAMAVCEventData {
418 TpPAMFQNameList IdentityName;
419 TpStringList IdentityType;
420 TpPAMContextList PAMContext;
421 TpStringList AttributeNames;
422 TpPAMTimeInterval ReportingPeriod;
426 struct TpPAMAVCNotificationData {
427 TpPAMFQName Identity;
428 TpPAMAvailabilityProfileList Availability;
432 struct TpPAMWCEventData {
433 TpPAMEventNameList Events;
434 TpPAMFQNameList IdentityName;
435 TpStringList IdentityType;
436 TpPAMTimeInterval ReportingPeriod;
440 union TpPAMEventInfo switch(TpPAMEventName) {
441 case PAM_CE_IDENTITY_PRESENCE_SET: TpPAMIPSEventData IdentityPresenceSet;
442 case PAM_CE_AVAILABILITY_CHANGED: TpPAMAVCEventData AvailabilityChanged;
443 case PAM_CE_WATCHERS_CHANGED: TpPAMWCEventData WatchersChanged;
444 case PAM_CE_IDENTITY_CREATED: TpPAMICEventData IdentityCreated;
445 case PAM_CE_IDENTITY_DELETED: TpPAMIDEventData IdentityDeleted;
446 case PAM_CE_GROUP_MEMBERSHIP_CHANGED: TpPAMGMCEventData GroupMembershipChanged;
447 case PAM_CE_AGENT_CREATED: TpPAMACEventData AgentCreated;
448 case PAM_CE_AGENT_DELETED: TpPAMADEventData AgentDeleted;
449 case PAM_CE_AGENT_ASSIGNED: TpPAMAAEventData AgentAssigned;
450 case PAM_CE_AGENT_UNASSIGNED: TpPAMAUEventData AgentUnassigned;
451 case PAM_CE_CAPABILITY_CHANGED: TpPAMCCEventData CapabilityChanged;
452 case PAM_CE_AGENT_CAPABILITY_PRESENCE_SET: TpPAMACPSEventData AgentCapabilityPresenceSet;
453 case PAM_CE_AGENT_PRESENCE_SET: TpPAMAPSEventData AgentPresenceSet;
457 enum TpPAMwatcherChangeType {
459 PAM_WATCHERS_PERIODIC,
460 PAM_WATCHERS_ADDED,
461 PAM_WATCHERS_DELETED
465 struct TpPAMWCNotificationData {
466 TpPAMEventName Event;
467 TpPAMwatcherChangeType ChangeType;
468 TpPAMFQName Identity;
469 TpPAMFQNameList Watchers;
473 union TpPAMNotificationInfo switch(TpPAMEventName) {
474 case PAM_CE_IDENTITY_PRESENCE_SET: TpPAMIPSNotificationData IdentityPresenceSetNotify;
475 case PAM_CE_AVAILABILITY_CHANGED: TpPAMAVCNotificationData AvailabilityChangedNotify;
476 case PAM_CE_WATCHERS_CHANGED: TpPAMWCNotificationData WatchersChangedNotify;
477 case PAM_CE_IDENTITY_CREATED: TpPAMICNotificationData IdentityCreatedNotify;
478 case PAM_CE_IDENTITY_DELETED: TpPAMIDNotificationData IdentityDeletedNotify;
479 case PAM_CE_GROUP_MEMBERSHIP_CHANGED: TpPAMGMCNotificationData GroupMembershipChangedNotify;
480 case PAM_CE_AGENT_CREATED: TpPAMACNotificationData AgentCreatedNotify;
481 case PAM_CE_AGENT_DELETED: TpPAMADNotificationData AgentDeletedNotify;
482 case PAM_CE_AGENT_ASSIGNED: TpPAMAANotificationData AgentAssignedNotify;
483 case PAM_CE_AGENT_UNASSIGNED: TpPAMAUNotificationData AgentUnassignedNotify;
484 case PAM_CE_CAPABILITY_CHANGED: TpPAMCCNotificationData CapabilityChangedNotify;
485 case PAM_CE_AGENT_CAPABILITY_PRESENCE_SET: TpPAMACPSNotificationData AgentCapabilityPresenceSetNotify;
486 case PAM_CE_AGENT_PRESENCE_SET: TpPAMAPSNotificationData AgentPresenceSetNotify;
490 typedef TpString TpPAMProvisioningInterfaceName;
493 typedef TpString TpPAMPresenceAvailabilityInterfaceName;
496 typedef TpString TpPAMEventInterfaceName;
499 typedef sequence <TpPAMEventInfo> TpPAMEventInfoList;
502 typedef sequence <TpPAMNotificationInfo> TpPAMNotificationInfoList;
505 enum TpPAMErrorCause {
507 P_PAM_CAUSE_UNDEFINED,
508 P_PAM_CAUSE_INVALID_ADDRESS,
509 P_PAM_CAUSE_SYSTEM_FAILURE,
510 P_PAM_CAUSE_INFO_UNAVAILABLE,
511 P_PAM_CAUSE_EVENT_REGISTRATION_CANCELLED
515 struct TpPAMErrorInfo {
516 TpPAMErrorCause Cause;
517 TpPAMNotificationInfo ErrorData;
521 exception P_PAM_UNAVAILABLE_INTERFACE {
522 TpString ExtraInformation;
526 typedef TpInt32 TpPAMClientID;
529 typedef TpAssignmentID TpPAMEventID;
532 exception P_PAM_INVALID_CREDENTIAL {
533 TpString ExtraInformation;
537 const TpPAMCapability P_PAM_VOICE = "P_PAM_VOICE";
539 const TpPAMCapability P_PAM_SMS = "P_PAM_SMS";
541 const TpPAMCapability P_PAM_IM = "P_PAM_IM";
543 const TpPAMCapability P_PAM_MMS = "P_PAM_MMS";
550 #endif