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     EA_FRAMED_IPV6_PREFIX,
00143 
00144     EA_DELEGATED_IPV6_PREFIX
00147     
00148   };
00149 
00153   enum EventAttributeType {
00154     EAT_LONG,                           
00155     EAT_LONG_LONG,                      
00156     EAT_STRING,                         
00157     EAT_OPAQUE                          
00158   };
00159 
00163   union AttributeUnion switch(EventAttributeType) {
00164     case EAT_LONG:
00165       long longVal;                     
00166     case EAT_LONG_LONG:
00167       long long longLongVal;            
00168     case EAT_STRING:
00169       string stringVal;                 
00170     case EAT_OPAQUE:
00171       sequence<octet> opaqueVal;        
00172   };
00173 
00177   struct EventAttr {
00178     EventAttribute type;
00179     AttributeUnion value;
00180   };
00181 
00185   typedef sequence<EventAttr> EventAttrSeq;
00186 
00190   typedef sequence<EventAttrSeq> EventAttrSeqSeq;      
00191 
00196   typedef sequence<octet> InetAddress;
00197 
00201   typedef sequence<InetAddress> InetAddressSeq;
00202 
00203 
00209   interface RouterListener {
00220     void routerUp(in string routerName,
00221                   in string saeId);
00222 
00233     void routerDown(in string routerName,
00234                     in string saeId);
00235   };
00236   
00242   interface EventNotification: sae::SAEFeature {
00292     boolean ipUp(in string routerName,
00293                  in InetAddress ipAddress,
00294                  in long sessionTimeout,
00295                  in EventAttrSeq attributes)
00296       raises(UnknownRouter, IllegalArgument);
00297 
00321     boolean ipDown(in string routerName,
00322                    in InetAddress ipAddress,
00323                    in EventAttrSeq attributes)
00324       raises(UnknownRouter, IllegalArgument);
00325 
00360     InetAddressSeq ipSynchronize(in string routerName,
00361                                  in EventAttrSeqSeq sessions)
00362       raises(UnknownRouter, IllegalArgument);
00363 
00377     sae::StringSeq getManagedRouterNames();
00378 
00392     void registerRouterListener(in RouterListener listener);
00393 
00401     void unregisterRouterListener(in RouterListener listener);
00402 
00407     string getSaeID();
00408   };
00409   
00410 };

Generated on Wed May 8 13:28:16 2013 for SAE API by  doxygen 1.4.7