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.
54 lines
1.4 KiB
54 lines
1.4 KiB
// --------------------------------------------------------------------------- |
|
// Name: actIEventHandler.h |
|
// Product: cv act library |
|
// Purpose: Interfaces required to receive token, slot or subsystem events |
|
// |
|
// Copyright: (c) 2002 cv cryptovision GmbH |
|
// all rights reserved |
|
// Licence: The conditions for the use of this software are regulated |
|
// in the cv act library licence agreement. |
|
// |
|
// Autor: Dr. Xiangdong Wang (XWG) |
|
// Markus Tesche |
|
// Date: 03/26/2002 |
|
// --------------------------------------------------------------------------- |
|
|
|
#ifndef ACT_IEventHandler_h |
|
#define ACT_IEventHandler_h |
|
|
|
#include "actTypeTags.h" |
|
#include "actIRefCounted.h" |
|
|
|
namespace act |
|
{ |
|
enum EventCode |
|
{ |
|
TOKEN_REMOVED = 0x00000010, |
|
TOKEN_INSERTED = 0x00000020, |
|
SLOT_REMOVED = 0x00000040, |
|
SLOT_INSERTED = 0x00000080, |
|
SUBSYSTEM_STOPPED = 0x00000100, |
|
SUBSYSTEM_STARTED = 0x00000200, |
|
MONITORING_STOPPED = 0x00000400, |
|
MONITORING_STARTED = 0x00000800, |
|
MONITORING_ERROR = 0x80000000, |
|
}; |
|
|
|
class ISubsystem; |
|
class IEventMonitoring; |
|
|
|
// |
|
// IEventHandler |
|
class IEventHandler : public IRefCounted |
|
{ |
|
public: |
|
virtual IEventHandler* Clone() = 0; |
|
virtual void Source(IEventMonitoring* source) = 0; |
|
virtual void OnEvent(int event, ISubsystem* source) = 0; |
|
}; |
|
|
|
typedef TypeTag<IEventHandler> TagEH; |
|
|
|
} // namespace act |
|
|
|
#endif // ACT_IEventHandler_h
|
|
|