VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
objectConsoleMessageHandler.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
14 #include <vrvCore/DtUniqueID.h>
16 #include <vrvUtil/DtUnicode.h>
17 #include <vlutil/vlPrint.h>
19 
20 #include <map>
21 #include <vector>
22 #include <vrvUtil/signalslib.h>
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtSimObjectEntry;
28 }
29 
30 class DtEntityIdentifier;
31 class DtString;
32 class DtSimMessage;
33 
34 namespace makVrf
35 {
36  static DtNotifyLevelType DtNlQuestion = DtNotifyLevelType(DtNlDebug + 10);
37 
40 
42  {
43  public:
44  typedef std::vector<std::pair<makVrv::DtUnicode, int> > DtConsoleMessageList;
45 
48 
50  static DtObjectConsoleMessageHandler& instance(makVrv::DtDe& de);
51  static void registerInstance(makVrv::DtDe& de, DtObjectConsoleMessageHandler*);
52 
53  virtual void setEnabled(bool);
54  bool enabled() const
55  {
56  return myEnabled;
57  }
58 
59  boost::signals2::signal<void (const DtEntityIdentifier&, int notifyLevel, const makVrv::DtUnicode&)> signal_consoleMessageReceived;
60  boost::signals2::signal<void (int)> signal_messageQueueSizeChanged;
61  boost::signals2::signal<void (makVrv::DtElementID, int, int)> signal_questionStatusChanged;
62 
63  virtual void setMessageQueueSize(int);
64  int messageQueueSize() const
65  {
66  return myMessageQueueSize;
67  }
68 
70  virtual bool questionFor(makVrv::DtElementID id, int questionId, DtIfAskUserQuestion&) const;
71 
73  virtual std::vector<int> pendingQuestionsFor(makVrv::DtElementID) const;
74 
76  virtual bool hasOutstandingQuestions(makVrv::DtElementID) const;
77 
79  virtual DtConsoleMessageList messagesFor(const std::string& entityId) const;
80 
85  virtual void setReceivingMessagesFor(makVrv::DtElementID, bool);
86 
88  virtual bool receivingMessagesFor(makVrv::DtElementID) const;
89 
91  virtual void clearAllMessages(const std::string& entityId);
92 
93  virtual void userQuestionAnswered(makVrv::DtElementID id, int questionId);
94 
95  protected:
96  virtual void processObjectConsoleMessageCallback(DtNetworkMessageInterface*);
97  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
98 
99  virtual void processUserQuestion(DtSimMessage*);
100  virtual bool processQuestion(const DtIfAskUserQuestion&);
101  virtual void processUserQuestionOperation(DtSimMessage*);
102 
104  virtual void messagesToResolve();
105  virtual void questionsToResolve();
106 
107  virtual makVrv::DtUnicode translateComment(DtCommentInteractionInterface* comment) const;
108  virtual void messagesToResolve(makVrv::DtElementID);
109  virtual void checkIfNeedsToNotifyForNewMessage(makVrv::DtElementID, int notifyLevel);
110 
111  protected:
112  typedef std::map<std::string, DtConsoleMessageList> DtConsoleMessageMap;
113 
115  bool myEnabled;
118 
119  std::map<makVrv::DtElementID, int> myReceivingMessagesFor;
120 
122  std::map<std::string, int> myHasAwaitingMessages;
123  std::map<std::string, DtIfAskUserQuestion> myHasAwaitingQuestions;
124 
125  std::map<makVrv::DtElementID, int> mySetAwaiting;
126 
127  typedef std::map<std::string, std::vector<DtIfAskUserQuestion> > PendingQuestions;
129  };
130 }
Virtual base class.
Definition: DtVirtualBaseClass.h:19
A unicode string.
Definition: DtUnicode.h:33
bool myEnabled
Definition: objectConsoleMessageHandler.h:115
Definition: networkMessageInterface.h:28
std::vector< std::pair< makVrv::DtUnicode, int > > DtConsoleMessageList
Definition: objectConsoleMessageHandler.h:44
Definition: objectConsoleMessageHandler.h:41
static DtNotifyLevelType DtNlQuestion
Definition: objectConsoleMessageHandler.h:36
std::map< makVrv::DtElementID, int > mySetAwaiting
Definition: objectConsoleMessageHandler.h:125
bool enabled() const
Definition: objectConsoleMessageHandler.h:54
boost::signals2::signal< void(makVrv::DtElementID, int, int)> signal_questionStatusChanged
Definition: objectConsoleMessageHandler.h:61
std::map< std::string, std::vector< DtIfAskUserQuestion > > PendingQuestions
Definition: objectConsoleMessageHandler.h:127
std::map< std::string, DtConsoleMessageList > DtConsoleMessageMap
Definition: objectConsoleMessageHandler.h:112
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
std::map< std::string, int > myHasAwaitingMessages
Messages are awaiting for an object that does not have an element id yet.
Definition: objectConsoleMessageHandler.h:122
Definition: commentInteractionInterface.h:22
std::map< std::string, DtIfAskUserQuestion > myHasAwaitingQuestions
Definition: objectConsoleMessageHandler.h:123
Contains makVrv::DtVirtualBaseClass class.
boost::signals2::signal< void(const DtEntityIdentifier &, int notifyLevel, const makVrv::DtUnicode &)> signal_consoleMessageReceived
Definition: objectConsoleMessageHandler.h:59
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
File: simMsg.h.
Definition: simMessage.h:35
int messageQueueSize() const
Definition: objectConsoleMessageHandler.h:64
makVrv::DtDe & myDe
Definition: objectConsoleMessageHandler.h:114
int myMessageQueueSize
Definition: objectConsoleMessageHandler.h:116
DtConsoleMessageMap myConsoleMessageMap
Definition: objectConsoleMessageHandler.h:117
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
PendingQuestions myPendingQuestions
Definition: objectConsoleMessageHandler.h:128
DtIfAskUserQuestion class will allow the back-end to send a message to the front end to ask the user ...
Definition: ifAskUserQuestion.h:23
boost::signals2::signal< void(int)> signal_messageQueueSizeChanged
Definition: objectConsoleMessageHandler.h:60
std::map< makVrv::DtElementID, int > myReceivingMessagesFor
Definition: objectConsoleMessageHandler.h:119

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)