# CEGUIGlobalEventSet.h

    00001 /************************************************************************
    00002         filename:       CEGUIGlobalEventSet.h
    00003         created:        16/1/2005
    00004         author:         Paul D Turner
    00005 *************************************************************************/
    00006 /*************************************************************************
    00007     Crazy Eddie's GUI System (http:www.cegui.org.uk)
    00008     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
    00009
    00010     This library is free software; you can redistribute it and/or
    00011     modify it under the terms of the GNU Lesser General Public
    00012     License as published by the Free Software Foundation; either
    00013     version 2.1 of the License, or (at your option) any later version.
    00014
    00015     This library is distributed in the hope that it will be useful,
    00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
    00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00018     Lesser General Public License for more details.
    00019
    00020     You should have received a copy of the GNU Lesser General Public
    00021     License along with this library; if not, write to the Free Software
    00022     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    00023 *************************************************************************/
    00024 #ifndef _CEGUIGlobalEventSet_h_
    00025 #define _CEGUIGlobalEventSet_h_
    00026
    00027 #include "CEGUIEventSet.h"
    00028 #include "CEGUISingleton.h"
    00029
    00030
    00031 #if defined(_MSC_VER)
    00032 #       pragma warning(push)
    00033 #       pragma warning(disable : 4275)
    00034 #endif
    00035
    00036 // Start of CEGUI namespace section
    00037 namespace CEGUI
    00038 {
    00046 class CEGUIEXPORT GlobalEventSet : public EventSet, public Singleton<GlobalEventSet>
    00047 {
    00048 public:
    00049         GlobalEventSet();
    00050         ~GlobalEventSet();
    00051
    00052
    00060         static  GlobalEventSet& getSingleton(void);
    00061
    00062
    00070         static  GlobalEventSet* getSingletonPtr(void);
    00071
    00072
    00089         virtual Event::Connection       subscribeEvent(const String& name, Event::Subscriber subscriber);
    00090
    00091
    00111         virtual Event::Connection       subscribeEvent(const String& name, Event::Group group, Event::Subscriber subscriber);
    00112
    00113
    00131         virtual void    fireEvent(const String& name, EventArgs& args, const String& eventNamespace = "");
    00132 };
    00133
    00134 } // End of  CEGUI namespace section
    00135
    00136
    00137 #if defined(_MSC_VER)
    00138 #       pragma warning(pop)
    00139 #endif
    00140
    00141 #endif  // end of guard _CEGUIGlobalEventSet_h_