| Home | nevrax.com |
|
msg_group.hGo to the documentation of this file.00001
00007 /* Copyright, 2000 Nevrax Ltd.
00008 *
00009 * This file is part of NEVRAX NEL.
00010 * NEVRAX NEL is free software; you can redistribute it and/or modify
00011 * it under the terms of the GNU General Public License as published by
00012 * the Free Software Foundation; either version 2, or (at your option)
00013 * any later version.
00014
00015 * NEVRAX NEL is distributed in the hope that it will be useful, but
00016 * WITHOUT ANY WARRANTY; without even the implied warranty of
00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00018 * General Public License for more details.
00019
00020 * You should have received a copy of the GNU General Public License
00021 * along with NEVRAX NEL; see the file COPYING. If not, write to the
00022 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00023 * MA 02111-1307, USA.
00024 */
00025 #ifndef NL_IA_MSG_GROUP_H
00026 #define NL_IA_MSG_GROUP_H
00027
00028 namespace NLAIAGENT
00029 {
00030
00031 class IBasicMessageGroup : public NLAIC::IBasicInterface {
00032
00033 protected:
00034 public:
00035
00036 IBasicMessageGroup()
00037 {
00038 }
00039
00040 virtual bool operator==(const IBasicMessageGroup *grp) const = 0;
00041 virtual bool operator==(const IBasicMessageGroup &grp) const = 0;
00042
00043 virtual const sint32 &getId() const = 0;
00044 };
00045
00046 class CMessageGroup : public IBasicMessageGroup
00047 {
00048 public:
00049 static CMessageGroup systemGroup;
00050 static CMessageGroup msgScriptingGroup;
00051
00052 private:
00053 sint32 _Id;
00054
00055 public:
00056 static const NLAIC::CIdentType IdMessageGroup;
00057 public:
00058
00059 CMessageGroup(sint32 id = 0)
00060 {
00061 _Id = id;
00062 }
00063
00064 CMessageGroup(const CMessageGroup &c)
00065 {
00066 _Id = c._Id;
00067 }
00068
00069 virtual void save(NLMISC::IStream &os)
00070 {
00071 sint32 id = (sint32) _Id;
00072 os.serial( id );
00073 }
00074
00075 virtual void load(NLMISC::IStream &is)
00076 {
00077 sint32 id;
00078 is.serial( id );
00079 _Id = (sint32) id;
00080 }
00081
00082 virtual const NLAIC::IBasicType *clone() const;
00083 virtual const NLAIC::IBasicType *newInstance() const;
00084
00085 virtual bool operator==(const IBasicMessageGroup *grp) const
00086 {
00087 return ( this->_Id == grp->getId() );
00088 }
00089
00090 virtual bool operator==(const IBasicMessageGroup &grp) const
00091 {
00092 return ( this->_Id == grp.getId());
00093 }
00094
00095 virtual void getDebugString(std::string &t) const
00096 {
00097 t += NLAIC::stringGetBuild("CMessageGroup<%d>",_Id);
00098 }
00099
00100 virtual const NLAIC::CIdentType &getType() const;
00101
00102 virtual const sint32 &getId() const
00103 {
00104 return _Id;
00105 }
00106 };
00107 }
00108 #endif
|
||||||||||||||||||||||||