Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//===== Copyright � 1996-2009, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef MM_EVENTS_H
#define MM_EVENTS_H
#ifdef _WIN32
#pragma once
#endif
#include "mm_framework.h"
#include "utlvector.h"
class CMatchEventsSubscription : public IMatchEventsSubscription { // Methods of IMatchEventsSubscription
public: virtual void Subscribe( IMatchEventsSink *pSink ); virtual void Unsubscribe( IMatchEventsSink *pSink );
virtual void BroadcastEvent( KeyValues *pEvent );
virtual void RegisterEventData( KeyValues *pEventData ); virtual KeyValues * GetEventData( char const *szEventDataKey );
public: bool IsBroacasting() const { return m_bBroadcasting; } void Shutdown();
public: CMatchEventsSubscription(); ~CMatchEventsSubscription();
protected: CUtlVector< IMatchEventsSink * > m_arrSinks; CUtlVector< int > m_arrRefCount; CUtlVector< int > m_arrIteratorsOutstanding;
bool m_bBroadcasting; bool m_bAllowNestedBroadcasts; CUtlVector< KeyValues * > m_arrQueuedEvents; CUtlVector< KeyValues * > m_arrEventData; CUtlVector< KeyValues * > m_arrSentEvents; };
// Match events subscription singleton
extern CMatchEventsSubscription *g_pMatchEventsSubscription;
#endif // MM_EVENTS_H
|