/*==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 pyMarkerMsg_h #define pyMarkerMsg_h ///////////////////////////////////////////////////////////////////////////// // // NAME: pyMarkerMsg // // PURPOSE: Class wrapper for Marker game messages // #include "../pfGameMgr/pfGameMgr.h" #include #include "../../pyGlueHelpers.h" #include "../pyGameCliMsg.h" class pyMarkerMsg : public pyGameCliMsg { protected: pyMarkerMsg(); pyMarkerMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_EXPOSE_TYPE; // so we can subclass PYTHON_CLASS_NEW_FRIEND(ptMarkerMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerMsg); // converts a PyObject to a pyMarkerMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); static void AddPlasmaConstantsClasses(PyObject* m); int GetMarkerMsgType() const; PyObject* UpcastToFinalMarkerMsg() const; // returns this message as the marker message it really is }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerTemplateCreatedMsg : public pyMarkerMsg { protected: pyMarkerTemplateCreatedMsg(); pyMarkerTemplateCreatedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerTemplateCreatedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerTemplateCreatedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerTemplateCreatedMsg); // converts a PyObject to a pyMarkerTemplateCreatedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); std::wstring TemplateID() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerTeamAssignedMsg : public pyMarkerMsg { protected: pyMarkerTeamAssignedMsg(); pyMarkerTeamAssignedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerTeamAssignedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerTeamAssignedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerTeamAssignedMsg); // converts a PyObject to a pyMarkerTeamAssignedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); int TeamNumber() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGameTypeMsg : public pyMarkerMsg { protected: pyMarkerGameTypeMsg(); pyMarkerGameTypeMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGameTypeMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGameTypeMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGameTypeMsg); // converts a PyObject to a pyMarkerGameTypeMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); int GameType() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGameStartedMsg : public pyMarkerMsg { protected: pyMarkerGameStartedMsg(); pyMarkerGameStartedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGameStartedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGameStartedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGameStartedMsg); // converts a PyObject to a pyMarkerGameStartedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGamePausedMsg : public pyMarkerMsg { protected: pyMarkerGamePausedMsg(); pyMarkerGamePausedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGamePausedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGamePausedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGamePausedMsg); // converts a PyObject to a pyMarkerGamePausedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long TimeLeft() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGameResetMsg : public pyMarkerMsg { protected: pyMarkerGameResetMsg(); pyMarkerGameResetMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGameResetMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGameResetMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGameResetMsg); // converts a PyObject to a pyMarkerGameResetMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGameOverMsg : public pyMarkerMsg { protected: pyMarkerGameOverMsg(); pyMarkerGameOverMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGameOverMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGameOverMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGameOverMsg); // converts a PyObject to a pyMarkerGameOverMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGameNameChangedMsg : public pyMarkerMsg { protected: pyMarkerGameNameChangedMsg(); pyMarkerGameNameChangedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGameNameChangedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGameNameChangedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGameNameChangedMsg); // converts a PyObject to a pyMarkerGameNameChangedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); std::wstring Name() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerTimeLimitChangedMsg : public pyMarkerMsg { protected: pyMarkerTimeLimitChangedMsg(); pyMarkerTimeLimitChangedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerTimeLimitChangedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerTimeLimitChangedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerTimeLimitChangedMsg); // converts a PyObject to a pyMarkerTimeLimitChangedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long TimeLimit() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerGameDeletedMsg : public pyMarkerMsg { protected: pyMarkerGameDeletedMsg(); pyMarkerGameDeletedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerGameDeletedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerGameDeletedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerGameDeletedMsg); // converts a PyObject to a pyMarkerGameDeletedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); bool Failed() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerMarkerAddedMsg : public pyMarkerMsg { protected: pyMarkerMarkerAddedMsg(); pyMarkerMarkerAddedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerMarkerAddedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerMarkerAddedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerMarkerAddedMsg); // converts a PyObject to a pyMarkerMarkerAddedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); double X() const; double Y() const; double Z() const; unsigned long MarkerId() const; std::wstring Name() const; std::wstring Age() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerMarkerDeletedMsg : public pyMarkerMsg { protected: pyMarkerMarkerDeletedMsg(); pyMarkerMarkerDeletedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerMarkerDeletedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerMarkerDeletedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerMarkerDeletedMsg); // converts a PyObject to a pyMarkerMarkerDeletedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long MarkerId() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerMarkerNameChangedMsg : public pyMarkerMsg { protected: pyMarkerMarkerNameChangedMsg(); pyMarkerMarkerNameChangedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerMarkerNameChangedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerMarkerNameChangedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerMarkerNameChangedMsg); // converts a PyObject to a pyMarkerMarkerNameChangedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long MarkerId() const; std::wstring Name() const; }; /////////////////////////////////////////////////////////////////////////////// class pyMarkerMarkerCapturedMsg : public pyMarkerMsg { protected: pyMarkerMarkerCapturedMsg(); pyMarkerMarkerCapturedMsg(pfGameCliMsg* msg); public: // required functions for PyObject interoperability PYTHON_CLASS_NEW_FRIEND(ptMarkerMarkerCapturedMsg); static PyObject* New(pfGameCliMsg* msg); PYTHON_CLASS_CHECK_DEFINITION; // returns true if the PyObject is a pyMarkerMarkerCapturedMsg object PYTHON_CLASS_CONVERT_FROM_DEFINITION(pyMarkerMarkerCapturedMsg); // converts a PyObject to a pyMarkerMarkerCapturedMsg (throws error if not correct type) static void AddPlasmaClasses(PyObject* m); unsigned long MarkerId() const; unsigned int Team() const; }; #endif // pyMarkerMsg_h