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_USER_IP_MASK,
00695 
00696     PA_FRAMED_IPV6_PREFIX,
00703 
00704     PA_DELEGATED_IPV6_PREFIX,
00712     
00713 
00714     PA_last                             // dummy: end-of-list
00715   };
00716 
00718   enum PluginAttributeType {
00719     PAT_LONG,      
00720     PAT_LONG_LONG, 
00721     PAT_STRING,    
00722     PAT_OPAQUE     
00723   };
00724   
00728   union AttributeUnion switch (PluginAttributeType) {
00729     case PAT_LONG:
00730       long longVal;               
00731     case PAT_LONG_LONG:
00732       long long longLongVal;      
00733     case PAT_STRING:
00734       string stringVal;           
00735     case PAT_OPAQUE:
00736       sequence<octet> opaqueVal;  
00737   };
00745   struct NameValue {
00746     PluginAttribute name;             
00747     AttributeUnion  value;            
00748   };
00750   typedef sequence<NameValue> NameValueList;
00751 
00760   struct SubscriptionInfo {
00761     long sessionTimeout;                
00762 
00763     long interimTime;                   
00764 
00765   };
00766 
00770   struct DirectoryAccessInfo {
00771     sequence<string> ldapHost;        
00772     string baseDN;                    
00773   };
00774 
00786   interface PluginContext {
00787     DirectoryAccessInfo getServiceDirectory();
00788     DirectoryAccessInfo getUserDirectory();   
00789     sae::ServiceActivationEngine getSAE();     
00790   };
00791 
00806   interface PluginInterface {
00808     exception MethodNotImplemented {};
00809 
00811     exception AuthorizationDenied {
00812       string message; 
00813 
00814     };
00815 #ifndef NO_WSTRING
00817     exception AuthorizationDeniedW {
00818       wstring message; 
00819 
00820     };
00821 #endif
00822 
00829     exception OutOfSync {};
00830 
00852     NameValueList authorize(in PluginEventType pet,
00853                             in PluginContext ctx,
00854                             in NameValueList attr)
00855       raises (MethodNotImplemented, 
00856 #ifndef NO_WSTRING
00857               AuthorizationDeniedW,
00858 #endif
00859               AuthorizationDenied,
00860               OutOfSync
00861               );
00862 
00879     void track (in PluginEventType pet,
00880                 in PluginContext ctx,
00881                 in NameValueList nvl,
00882                 inout SubscriptionInfo subscription)
00883       raises (MethodNotImplemented,
00884               OutOfSync);
00885   };
00886 
00896   interface SyncPluginInterface: PluginInterface {
00902     void restart(in string pepId);
00903 
00913     void restartComplete(in string pepId, in boolean isPepReset)
00914       raises (OutOfSync);
00915 
00921     void stop(in string pepId);
00922   };
00923 
00935   interface StateSyncPlugin: SyncPluginInterface {
00936 
00943     typedef sequence<string> StringSeq;
00944     
00958     long readyToSync(in StringSeq pepIds,
00959                      in boolean queueValid);
00960 
00964     struct PluginEvent {
00965       PluginEventType pet;      
00966       NameValueList nvl;        
00967     };
00968 
00972     typedef sequence<PluginEvent> PluginEventSeq;
00973 
00979     void trackBulk(in PluginEventSeq events)
00980       raises (OutOfSync);
00981 
00989     void syncComplete(in StringSeq pepIds);
00990 
00997     void ping(in StringSeq pepIds) raises(OutOfSync);
00998 
00999   };
01000   
01001 };

Generated on Wed May 8 13:28:19 2013 for SAE CORBA Plug-In Service Provider Interface (SPI) by  doxygen 1.4.7