00001 #ifndef _NET_NET_ClassIdent_H_ // -*-c++-*-
00002
00003 #ifdef __GNUG__
00004 # pragma interface
00005 #endif
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #include <LCore/HopClTypes.h>
00034
00035 #define _NET_NET_ClassIdent_H_
00036
00037 namespace strmod {
00038 namespace ehnet {
00039
00040 class NET_ClassIdent : public lcore::EH_ClassIdent {
00041 private:
00042 typedef lcore::ClassIdent ClassIdent;
00043 typedef lcore::U4Byte U4Byte;
00044 typedef lcore::EH_ClassNum EH_ClassNum;
00045 protected:
00046 inline virtual const ClassIdent *i_GetIdent() const;
00047
00048 public:
00049 static const NET_ClassIdent identifier;
00050
00051 inline NET_ClassIdent(U4Byte cnum);
00052
00053 inline virtual int AreYouA(const ClassIdent &cid) const;
00054 };
00055
00056
00057
00058 inline NET_ClassIdent::NET_ClassIdent(U4Byte cnum) :
00059 EH_ClassIdent(EH_ClassNum(EH_ClassNum::Net, cnum))
00060 {
00061 }
00062
00063 inline const lcore::ClassIdent *NET_ClassIdent::i_GetIdent() const
00064 {
00065 return(&identifier);
00066 }
00067
00068 inline int NET_ClassIdent::AreYouA(const ClassIdent &cid) const
00069 {
00070 return((identifier == cid) || EH_ClassIdent::AreYouA(cid));
00071 }
00072
00073 }
00074 }
00075
00076 #endif