Main Page | Class Hierarchy | Class List | File List | Class Members | Related Pages

net/src/IPCalc.h

00001 #ifndef IPCALC_H
00002 #define IPCALC_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 using namespace std;
00008 
00009 namespace net
00010 {
00016   class IPCalc
00017   {
00018 
00019   public:
00020   
00021     static const unsigned long kCLASS_A;
00022     static const unsigned long kCLASS_B;
00023     static const unsigned long kCLASS_C;
00024     static const unsigned long kCLASS_A_NETWORK_MASK;
00025     static const unsigned long kCLASS_B_NETWORK_MASK;
00026     static const unsigned long kCLASS_C_NETWORK_MASK;
00027   
00033     IPCalc(string aString1,string aString2);
00034     
00040     IPCalc(unsigned long aLong1,unsigned long aLong2);
00041 
00046     unsigned long getAddress();
00047     
00052     unsigned long getNetworkAddress();
00053     
00058     unsigned long getIPClass();
00059     
00064     unsigned long getHostNumber();
00065     
00070     unsigned long getFirstHost();
00071     
00076     unsigned long getLastHost();
00077     
00082     unsigned long getNetMask();
00083     
00089     int isInSameNet(IPCalc aIpc);
00090     
00095     int isHost();
00096     
00101     int isNetwork();
00102     
00106     void display();
00107     
00112     int checkAddress();
00113 
00114   private:
00119     unsigned long getClassMask();
00120     
00124     unsigned int mAddr;
00125     
00129     unsigned int mNetMask;
00130 
00131   };
00132 
00133   void display_bin(unsigned long);
00134   unsigned long str2long(string aAddr);
00135 }
00136 
00137 #endif

Generated on Fri May 19 23:12:37 2006 for common by  doxygen 1.4.4