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_REMOTE_TUNNEL_INET_ADDRESS,
00682 
00683     PA_LOCAL_TUNNEL_INET_ADDRESS,
00690 
00691     PA_last                             // dummy: end-of-list
00692   };
00693 
00695   enum PluginAttributeType {
00696     PAT_LONG,      
00697     PAT_LONG_LONG, 
00698     PAT_STRING,    
00699     PAT_OPAQUE     
00700   };
00701   
00705   union AttributeUnion switch (PluginAttributeType) {
00706     case PAT_LONG:
00707       long longVal;               
00708     case PAT_LONG_LONG:
00709       long long longLongVal;      
00710     case PAT_STRING:
00711       string stringVal;           
00712     case PAT_OPAQUE:
00713       sequence<octet> opaqueVal;  
00714   };
00722   struct NameValue {
00723     PluginAttribute name;             
00724     AttributeUnion  value;            
00725   };
00727   typedef sequence<NameValue> NameValueList;
00728 
00737   struct SubscriptionInfo {
00738     long sessionTimeout;                
00739 
00740     long interimTime;                   
00741 
00742   };
00743 
00747   struct DirectoryAccessInfo {
00748     sequence<string> ldapHost;        
00749     string baseDN;                    
00750   };
00751 
00763   interface PluginContext {
00764     DirectoryAccessInfo getServiceDirectory();
00765     DirectoryAccessInfo getUserDirectory();   
00766     sae::ServiceActivationEngine getSAE();     
00767   };
00768 
00783   interface PluginInterface {
00785     exception MethodNotImplemented {};
00786 
00788     exception AuthorizationDenied {
00789       string message; 
00790 
00791     };
00792 #ifndef NO_WSTRING
00794     exception AuthorizationDeniedW {
00795       wstring message; 
00796 
00797     };
00798 #endif
00799 
00806     exception OutOfSync {};
00807 
00829     NameValueList authorize(in PluginEventType pet,
00830                             in PluginContext ctx,
00831                             in NameValueList attr)
00832       raises (MethodNotImplemented, 
00833 #ifndef NO_WSTRING
00834               AuthorizationDeniedW,
00835 #endif
00836               AuthorizationDenied,
00837               OutOfSync
00838               );
00839 
00856     void track (in PluginEventType pet,
00857                 in PluginContext ctx,
00858                 in NameValueList nvl,
00859                 inout SubscriptionInfo subscription)
00860       raises (MethodNotImplemented,
00861               OutOfSync);
00862   };
00863 
00873   interface SyncPluginInterface: PluginInterface {
00879     void restart(in string pepId);
00880 
00890     void restartComplete(in string pepId, in boolean isPepReset)
00891       raises (OutOfSync);
00892 
00898     void stop(in string pepId);
00899   };
00900 
00912   interface StateSyncPlugin: SyncPluginInterface {
00913 
00920     typedef sequence<string> StringSeq;
00921     
00935     long readyToSync(in StringSeq pepIds,
00936                      in boolean queueValid);
00937 
00941     struct PluginEvent {
00942       PluginEventType pet;      
00943       NameValueList nvl;        
00944     };
00945 
00949     typedef sequence<PluginEvent> PluginEventSeq;
00950 
00956     void trackBulk(in PluginEventSeq events)
00957       raises (OutOfSync);
00958 
00966     void syncComplete(in StringSeq pepIds);
00967 
00974     void ping(in StringSeq pepIds) raises(OutOfSync);
00975 
00976   };
00977   
00978 };

Generated on Tue May 24 14:55:30 2011 for SAE CORBA Plug-In Service Provider Interface (SPI) by  doxygen 1.4.7