VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtChannelManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtChannelManager.h,v $ $Revision: 1.35 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtChannelManager_H_
14 #define DtChannelManager_H_
15 
16 #include <vrvCore/vrvCore.h>
19 #include <boost/signals.hpp>
20 
21 #include <map>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtChannel;
27  class DtChannelConfiguration;
28  class DtWindow;
29  class DtAgentManager;
30  class DtChannelManagerSignaler;
31 
36  {
37 
38  protected:
39 
41  DtChannelManager(DtDe& anIG,DtWindow* window,
42  DtChannelConfigurations& channelConfigs);
43 
44  public:
45  typedef std::map<std::string,DtChannel*> ChannelMap;
46 
48  virtual ~DtChannelManager();
49 
54  virtual DtChannel& addChannel(const std::string& displayName, const std::string& windowName,
55  const DtChannelConfiguration& wc);
56 
58  virtual void destroyChannels();
59 
61  virtual void destroyChannel(const std::string& displayName, const std::string& windowName,
62  const std::string& channelName);
63 
65  virtual bool modifyChannel(const std::string& displayName, const std::string& windowName,
66  const std::string& oldChannelName, const DtChannelConfiguration& config);
67 
69 
70  DtChannel* findChannelByName(const std::string& name);
71  const DtChannel* findChannelByName(const std::string& name) const;
73 
75  virtual const ChannelMap& channels() const;
76 
78  virtual ChannelMap& channels();
79 
82  virtual bool tick();
83 
85  virtual void realizeChannels( const std::string& windowName );
86 
88  virtual void updateAllChannelProjections();
89 
90  protected:
91 
93  virtual DtChannel* realizeConfiguration(DtChannelConfiguration&);
94 
100  };
101 
105  {
106  public:
108  static DtChannelManagerSignaler& instance(DtDe& anIG);
109 
111  virtual ~DtChannelManagerSignaler();
112 
114  boost::signal<void (DtChannelManager*, DtChannel*)> signal_channelCreated;
115 
117  boost::signal<void (DtChannelManager*, DtChannel*)> signal_channelToBeDestroyed;
118 
120  boost::signal<void (DtChannelManager*, DtChannel*)> signal_channelUpdated;
121 
122  protected:
124 
125  };
126 
127 
131  {
132  public:
134  static DtChannelManagerCreator& instance(DtDe& anIG);
135 
137  static void registerInstance(DtDe& anIG,DtChannelManagerCreator* anInstance);
138 
140  virtual DtChannelManager* create(DtDe& anIG,DtWindow* window,
141  DtChannelConfigurations& channelConfigs) = 0;
142  };
143 }
144 
145 #endif
146 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)