AnyConnect Secure Mobility Client 4.8.02045

include/RouteInfo.h

00001 #ifndef _ROUTE_INFO_
00002 #define _ROUTE_INFO_
00003 
00004 
00005 #include "api.h"
00006 #include <iostream>
00007 
00008 /**
00009  * The RouteInfo class can be used to retrieve the network and subnet mask
00010  * for the secure and non-secure routes associated with the VPN.
00011  */
00012 
00013 
00014 class VPN_VPNAPI RouteInfo
00015 {
00016     public:
00017 
00018         /**
00019          * Constructor used to create a route instance.  This method is not
00020          * intended for public use.
00021          */
00022         RouteInfo(tstring &network, tstring &subnet);
00023 
00024         RouteInfo(tstring &network, tstring &subnet, tstring &hostNames);
00025 
00026         /**
00027          * Constructor used to copy a route instance.  This method is not
00028          * intended for public use.
00029          */
00030         RouteInfo(const RouteInfo *routeInfo);
00031 
00032         ~RouteInfo();
00033 
00034         /**
00035          * Retrieve the destination network address for this route.
00036          */
00037         const tstring &getNetwork() const;
00038 
00039         /**
00040          * Retrieve the subnet mask for this route.
00041          */
00042         const tstring &getSubnet() const;
00043 
00044         /**
00045         * Retrieves the host names for this route (only applicable to dynamic routes).
00046         */
00047         const tstring &getHostNames() const;
00048 
00049         static size_t HashCombine(const std::list<RouteInfo*>& routeList);
00050 
00051     private:
00052 
00053         tstring ms_network;
00054         tstring ms_subnet;
00055         tstring ms_hostNames;
00056 
00057         size_t getHashCode() const;
00058 
00059 };
00060 
00061 tostream& operator <<(tostream &outStream, RouteInfo &route);
00062 
00063 #endif // _ROUTE_INFO_