VR-Exchange 2.5 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
interactionCallbackManager.h
Go to the documentation of this file.
1 /****************************************************************************
2  * Copyright (c) 2014 VT MAK
3  * All rights reserved.
4  ****************************************************************************/
5 
9 
10 #if DtTENA
11 
12 #pragma once
13 
14 #include <vlTena/dllExport.h>
15 #include <vlutil/vlString.h>
16 #include <list>
17 
18 namespace MAKVrExchange
19 {
20 
21  namespace DtTenaBroker
22  {
23 
24  class DtInteraction;
25 
27  typedef void (*DtReceiveInteractionCb)( DtInteraction* inter, void* usr );
28 
32  class DT_DLL_VLTENA DtInteractionCallbackManager
33  {
34  public:
35 
39  struct DtInteractionCallbackInfo
40  {
41  DtString name;
42  DtReceiveInteractionCb cb;
43  void* usr;
44  };
45 
47  DtInteractionCallbackManager();
48 
50  virtual ~DtInteractionCallbackManager();
51 
53  virtual void addInteractionCallback( const DtString& name,
54  DtReceiveInteractionCb cb, void* usr );
55 
57  virtual void removeInteractionCallback( const DtString& name,
58  DtReceiveInteractionCb cb, void* usr );
59 
62  virtual void applyCallback( const DtString& name, DtInteraction* inter );
63 
64  protected:
65 
67  virtual bool cbInfoAreEqual( const DtInteractionCallbackInfo& first,
68  const DtInteractionCallbackInfo& second );
69 
70  protected:
71 
72  typedef std::list<DtInteractionCallbackInfo> InteractionCallbackList;
73  InteractionCallbackList myInteractionCallbackList;
74 
75  };
76 
77  }
78 }
79 
80 #endif // DtTENA

Document ID: Generated on Wed Dec 21 15:05:11 EST 2016 from SVN revision 171891
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)