Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members

sspPlugin.idl

Go to the documentation of this file.
00001 00062 #include "sae.idl" 00063 00064 #pragma prefix "" 00065 00070 module sspPlugin { 00071 00078 enum PluginEventType { 00080 PE_AUTH_USER, 00081 PE_AUTH_SERVICE, 00082 PE_AUTH_SUBSCRIPTION, 00083 00085 PE_START_USER, 00086 PE_STOP_USER, 00087 PE_INTERIM_USER, 00088 00089 PE_START_SERVICE, 00090 PE_INTERIM_SERVICE, 00091 PE_STOP_SERVICE, 00092 00093 // @since 4.2 00094 PE_START_INTERFACE, 00095 PE_INTERIM_INTERFACE, 00096 PE_STOP_INTERFACE, 00097 00098 // @since 4.3 00099 PE_AUTH_DHCP, 00100 00101 PE_no_event 00102 }; 00103 00121 enum PluginAttribute { 00122 PA_SSP_HOST, 00126 PA_ROUTER_NAME, 00130 00131 PA_INTERFACE_NAME, 00135 00136 PA_INTERFACE_ALIAS, 00140 00141 PA_INTERFACE_DESCR, 00145 00146 PA_PORT_ID, 00150 00151 PA_USER_IP_ADDRESS, 00155 00156 PA_LOGIN_NAME, 00161 00162 PA_ACCOUNTING_ID, 00166 00167 PA_AUTH_USER_ID, 00171 00172 PA_IF_RADIUS_CLASS, 00176 00177 PA_IF_SESSION_ID, 00181 00182 PA_SERVICE_BUNDLE, 00186 00187 PA_USER_DN, 00191 00192 PA_UID, 00196 00197 PA_DOMAIN, 00201 00202 PA_RETAILER_DN, 00206 00207 PA_PASSWORD, 00211 00212 PA_SERVICE_NAME, 00216 00217 PA_SERVICE_SCOPE, 00221 00222 PA_RADIUS_CLASS, 00226 00227 PA_EVENT_TIME, 00231 00233 PA_SESSION_ID, 00237 00238 PA_TERMINATE_CAUSE, 00242 00243 PA_SESSION_TIME, 00247 00248 PA_IN_OCTETS, 00252 00253 PA_OUT_OCTETS, 00257 00258 PA_IN_PACKETS, 00262 00263 PA_OUT_PACKETS, 00267 00269 PA_SESSION_TIMEOUT, 00273 00274 PA_NAS_IP, 00278 00279 PA_USER_MAC_ADDRESS, 00283 00284 PA_DOWNSTREAM_BANDWIDTH, 00288 00289 PA_UPSTREAM_BANDWIDTH, 00293 00295 PA_REPLY_MESSAGE, 00299 00300 PA_SERVICE_SESSION_NAME, 00304 00305 PA_SERVICE_SESSION_TAG, 00309 00310 PA_DHCP_PACKET, 00318 00319 PA_USER_TYPE, 00323 00324 PA_USER_RADIUS_CLASS, 00328 00329 PA_USER_SESSION_ID, 00333 00335 PA_PRIMARY_USER_NAME, 00339 00341 PA_SESSION_VOLUME_QUOTA, 00345 00346 PA_SUBSCRIPTION_NAME, 00350 00351 PA_LOAD_SERVICES, 00358 00360 PA_LOGIN_ID, 00364 00366 PA_POOL_NAME, 00371 00372 PA_AUTH_VIRTUAL_ROUTER_NAME, 00378 00379 PA_IF_INDEX, 00383 00385 PA_EVENT_TIME_MILLISECOND, 00389 00390 // @since 5.0 00391 PA_NAS_PORT, 00395 00396 PA_OPERATIONAL, 00400 00401 PA_IDLE_TIMEOUT, 00405 00407 PA_USER_INET_ADDRESS, 00413 00414 PA_NAS_INET_ADDRESS, 00421 00423 PA_AGGR_SESSION_ID, 00428 00429 PA_AGGR_LOGIN_NAME, 00433 00434 PA_AGGR_USER_DN, 00438 00439 PA_AGGR_USER_INET_ADDRESS, 00444 00445 PA_AGGR_ACCOUNTING_ID, 00449 00450 PA_AGGR_AUTH_USER_ID, 00454 00455 // @since Mars 00456 PA_PROPERTY, 00463 00464 00465 PA_ACCT_INTERIM_TIME, 00471 00472 00473 PA_SUBSTITUTION, 00479 00480 PA_TERMINATE_TIME, 00498 00499 PA_ROUTER_TYPE, 00503 00504 PA_PCMM_REQUEST_TYPE, 00508 00509 PA_PCMM_AM_ID, 00513 00514 PA_PCMM_BC_ID, 00518 00519 PA_INTERFACE_SPEED, 00523 00524 PA_ACCESS_MODE, 00537 00538 PA_ACCESS_UPSTREAM_RATE, 00542 00543 PA_ACCESS_DOWNSTREAM_RATE, 00547 00548 PA_MIN_UPSTREAM_RATE, 00552 00553 PA_MIN_DOWNSTREAM_RATE, 00557 00558 PA_ATTAINABLE_UPSTREAM_RATE, 00562 00563 PA_ATTAINABLE_DOWNSTREAM_RATE, 00567 00568 PA_MAXIMUM_UPSTREAM_RATE, 00572 00573 PA_MAXIMUM_DOWNSTREAM_RATE, 00577 00578 PA_MINIMUM_LOW_POWER_UPSTREAM_RATE, 00582 00583 PA_MINIMUM_LOW_POWER_DOWNSTREAM_RATE, 00587 00588 PA_MAXIMUM_INTERLEAVING_UPSTREAM_DELAY, 00592 00593 PA_ACTUAL_INTERLEAVING_UPSTREAM_DELAY, 00597 00598 PA_MAXIMUM_INTERLEAVING_DOWNSTREAM_DELAY, 00602 00603 PA_ACTUAL_INTERLEAVING_DOWNSTREAM_DELAY, 00607 00608 PA_DSL_LINE_STAT, 00617 00618 // @since SRC 3.1 00619 // unique user session handle 00620 PA_USER_SESSION_HANDLE, 00624 00626 PA_TUNNEL_ID, 00630 00631 PA_TUNNEL_SESSION_ID, 00635 00636 PA_LAC_IP, 00640 00641 PA_CALLING_STATION_ID, 00645 00646 PA_USER_PROPERTY, 00652 00653 PA_VPN_ID, 00657 00658 // @since Bitter 00659 PA_LOCAL_QOS_PROFILE, 00665 PA_IDLE_TIMEOUT_INPUT, 00669 00670 PA_IDLE_TIMEOUT_OUTPUT, 00674 00675 PA_last // dummy: end-of-list 00676 }; 00677 00679 enum PluginAttributeType { 00680 PAT_LONG, 00681 PAT_LONG_LONG, 00682 PAT_STRING, 00683 PAT_OPAQUE 00684 }; 00685 00689 union AttributeUnion switch (PluginAttributeType) { 00690 case PAT_LONG: 00691 long longVal; 00692 case PAT_LONG_LONG: 00693 long long longLongVal; 00694 case PAT_STRING: 00695 string stringVal; 00696 case PAT_OPAQUE: 00697 sequence<octet> opaqueVal; 00698 }; 00706 struct NameValue { 00707 PluginAttribute name; 00708 AttributeUnion value; 00709 }; 00711 typedef sequence<NameValue> NameValueList; 00712 00721 struct SubscriptionInfo { 00722 long sessionTimeout; 00723 00724 long interimTime; 00725 00726 }; 00727 00731 struct DirectoryAccessInfo { 00732 sequence<string> ldapHost; 00733 string baseDN; 00734 }; 00735 00747 interface PluginContext { 00748 DirectoryAccessInfo getServiceDirectory(); 00749 DirectoryAccessInfo getUserDirectory(); 00750 sae::ServiceActivationEngine getSAE(); 00751 }; 00752 00767 interface PluginInterface { 00769 exception MethodNotImplemented {}; 00770 00772 exception AuthorizationDenied { 00773 string message; 00774 00775 }; 00776 #ifndef NO_WSTRING 00777 00778 exception AuthorizationDeniedW { 00779 wstring message; 00780 00781 }; 00782 #endif 00783 00790 exception OutOfSync {}; 00791 00813 NameValueList authorize(in PluginEventType pet, 00814 in PluginContext ctx, 00815 in NameValueList attr) 00816 raises (MethodNotImplemented, 00817 #ifndef NO_WSTRING 00818 AuthorizationDeniedW, 00819 #endif 00820 AuthorizationDenied, 00821 OutOfSync 00822 ); 00823 00840 void track (in PluginEventType pet, 00841 in PluginContext ctx, 00842 in NameValueList nvl, 00843 inout SubscriptionInfo subscription) 00844 raises (MethodNotImplemented, 00845 OutOfSync); 00846 }; 00847 00857 interface SyncPluginInterface: PluginInterface { 00863 void restart(in string pepId); 00864 00874 void restartComplete(in string pepId, in boolean isPepReset) 00875 raises (OutOfSync); 00876 00882 void stop(in string pepId); 00883 }; 00884 00896 interface StateSyncPlugin: SyncPluginInterface { 00897 00904 typedef sequence<string> StringSeq; 00905 00919 long readyToSync(in StringSeq pepIds, 00920 in boolean queueValid); 00921 00925 struct PluginEvent { 00926 PluginEventType pet; 00927 NameValueList nvl; 00928 }; 00929 00933 typedef sequence<PluginEvent> PluginEventSeq; 00934 00940 void trackBulk(in PluginEventSeq events) 00941 raises (OutOfSync); 00942 00950 void syncComplete(in StringSeq pepIds); 00951 00958 void ping(in StringSeq pepIds) raises(OutOfSync); 00959 00960 }; 00961 00962 };

Generated on Tue Jun 15 10:17:14 2010 for SAE CORBA Plug-In Service Provider Interface (SPI) by doxygen 1.3.7