event.idl

Go to the documentation of this file.
00001 #include "sae.idl"
00002 
00003 #pragma prefix "smgt.juniper.net"
00004 
00005 module event {
00009   exception UnknownRouter {
00010     string message;                     
00011   };
00012 
00016   exception IllegalArgument {
00017     string message;                     
00018   };
00019 
00024   enum EventAttribute {
00025     EA_INTERFACE_NAME,
00028     
00029     EA_SESSION_ID,
00032 
00033     EA_IF_ALIAS,
00036     
00037     EA_IF_DESCR,
00040     
00041     EA_IF_INDEX,
00044 
00045     EA_NAS_PORT_ID,
00048     
00049     EA_NAS_PORT,
00052     
00053     EA_NAS_IP,
00056     
00057     EA_RADIUS_CLASS,
00060     
00061     EA_SERVICE_BUNDLE,
00064     
00065     EA_LOGIN_NAME,
00068     
00069     EA_IP_ADDRESS,
00073     
00074     EA_IP_MASK,
00077     
00078     EA_MTU,
00081     
00082     EA_BROADCAST_ADDR,
00085 
00086     EA_INTERFACE_SPEED,
00089        
00090     EA_MAC_ADDRESS,
00093         
00094     EA_DHCP_PACKET,
00099     
00100     EA_LOGIN_TYPE,
00104         
00105     EA_USER_IP_ADDRESS,
00111     
00112     EA_INTERFACE_TYPE, 
00115     
00116     EA_TUNNEL_SERVER_IP_ADDRESS,
00119     
00120     EA_TUNNEL_SERVER_IP_MASK,
00123     
00124     EA_TUNNEL_ID,
00127     
00128     EA_TUNNEL_SESSION_ID,
00131 
00132     EA_CALLING_STATION_ID,
00135     
00136         EA_LOCAL_QOS_PROFILE    
00139   };
00140 
00144   enum EventAttributeType {
00145     EAT_LONG,                           
00146     EAT_LONG_LONG,                      
00147     EAT_STRING,                         
00148     EAT_OPAQUE                          
00149   };
00150 
00154   union AttributeUnion switch(EventAttributeType) {
00155     case EAT_LONG:
00156       long longVal;                     
00157     case EAT_LONG_LONG:
00158       long long longLongVal;            
00159     case EAT_STRING:
00160       string stringVal;                 
00161     case EAT_OPAQUE:
00162       sequence<octet> opaqueVal;        
00163   };
00164 
00168   struct EventAttr {
00169     EventAttribute type;
00170     AttributeUnion value;
00171   };
00172 
00176   typedef sequence<EventAttr> EventAttrSeq;
00177 
00181   typedef sequence<EventAttrSeq> EventAttrSeqSeq;      
00182 
00187   typedef sequence<octet> InetAddress;
00188 
00192   typedef sequence<InetAddress> InetAddressSeq;
00193 
00194 
00200   interface RouterListener {
00211     void routerUp(in string routerName,
00212                   in string saeId);
00213 
00224     void routerDown(in string routerName,
00225                     in string saeId);
00226   };
00227   
00233   interface EventNotification: sae::SAEFeature {
00283     boolean ipUp(in string routerName,
00284                  in InetAddress ipAddress,
00285                  in long sessionTimeout,
00286                  in EventAttrSeq attributes)
00287       raises(UnknownRouter, IllegalArgument);
00288 
00312     boolean ipDown(in string routerName,
00313                    in InetAddress ipAddress,
00314                    in EventAttrSeq attributes)
00315       raises(UnknownRouter, IllegalArgument);
00316 
00351     InetAddressSeq ipSynchronize(in string routerName,
00352                                  in EventAttrSeqSeq sessions)
00353       raises(UnknownRouter, IllegalArgument);
00354 
00368     sae::StringSeq getManagedRouterNames();
00369 
00383     void registerRouterListener(in RouterListener listener);
00384 
00392     void unregisterRouterListener(in RouterListener listener);
00393 
00398     string getSaeID();
00399   };
00400   
00401 };

Generated on Tue May 24 14:55:27 2011 for SAE API by  doxygen 1.4.7