/*==LICENSE==* CyanWorlds.com Engine - MMOG client, server and tools Copyright (C) 2011 Cyan Worlds, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . You can contact Cyan Worlds, Inc. by email legal@cyan.com or by snail mail at: Cyan Worlds, Inc. 14617 N Newport Hwy Mead, WA 99021 *==LICENSE==*/ #ifndef pyVarSyncMsg_h #define pyVarSyncMsg_h ///////////////////////////////////////////////////////////////////////////// // // NAME: pyVarSyncMsg // // PURPOSE: Class wrapper for VarSync game messages // #include "../pfGameMgr/pfGameMgr.h" #include #include "../../pyGlueHelpers.h" #include "../pyGameCliMsg.h" class pyVarSyncMsg : public pyGameCliMsg { protected: pyVarSyncMsg(); pyVarSyncMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_EXPOSE_TYPE; // so we can subclass PYTHON_CLASS_NEW_FRIEND(ptVarSyncMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyVarSyncMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyVarSyncMsg); // converts a PyObject to a pyVarSyncMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); static void AddPlasmaConstantsClasses(PyObject* m); int GetVarSyncMsgType() const; PyObject* UpcastToFinalVarSyncMsg() const; // returns the VarSync message that this really is }; /////////////////////////////////////////////////////////////////////////////// class pyVarSyncStringVarChangedMsg : public pyVarSyncMsg { protected: pyVarSyncStringVarChangedMsg(); pyVarSyncStringVarChangedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptVarSyncStringVarChangedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyVarSyncStringVarChangedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyVarSyncStringVarChangedMsg); // converts a PyObject to a pyVarSyncStringVarChangedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long ID() const; std::wstring Value() const; }; /////////////////////////////////////////////////////////////////////////////// class pyVarSyncNumericVarChangedMsg : public pyVarSyncMsg { protected: pyVarSyncNumericVarChangedMsg(); pyVarSyncNumericVarChangedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptVarSyncNumericVarChangedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyVarSyncNumericVarChangedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyVarSyncNumericVarChangedMsg); // converts a PyObject to a pyVarSyncNumericVarChangedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long ID() const; double Value() const; }; /////////////////////////////////////////////////////////////////////////////// class pyVarSyncAllVarsSentMsg : public pyVarSyncMsg { protected: pyVarSyncAllVarsSentMsg(); pyVarSyncAllVarsSentMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptVarSyncAllVarsSentMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyVarSyncAllVarsSentMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyVarSyncAllVarsSentMsg); // converts a PyObject to a pyVarSyncAllVarsSentMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); }; /////////////////////////////////////////////////////////////////////////////// class pyVarSyncStringVarCreatedMsg : public pyVarSyncMsg { protected: pyVarSyncStringVarCreatedMsg(); pyVarSyncStringVarCreatedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptVarSyncStringVarCreatedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyVarSyncStringVarCreatedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyVarSyncStringVarCreatedMsg); // converts a PyObject to a pyVarSyncStringVarCreatedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); std::wstring Name() const; unsigned long ID() const; std::wstring Value() const; }; /////////////////////////////////////////////////////////////////////////////// class pyVarSyncNumericVarCreatedMsg : public pyVarSyncMsg { protected: pyVarSyncNumericVarCreatedMsg(); pyVarSyncNumericVarCreatedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptVarSyncNumericVarCreatedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyVarSyncNumericVarCreatedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyVarSyncNumericVarCreatedMsg); // converts a PyObject to a pyVarSyncNumericVarCreatedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); std::wstring Name() const; unsigned long ID() const; double Value() const; }; #endif // pyVarSyncMsg_h