![]() |
AnyConnect Secure Mobility Client 4.8.02045
|
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_