BVB Source Codes

CRYENGINE Show FlowGraphDebugger.h Source code

Return Download CRYENGINE: download FlowGraphDebugger.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. // -------------------------------------------------------------------------
  4. //  File name:   FlowGraphDebugger.h
  5. //  Version:     v1.00
  6. //  Created:     13/09/2011 by Sascha Hoba.
  7. //  Description:
  8. // -------------------------------------------------------------------------
  9. //  History:
  10. //
  11. ////////////////////////////////////////////////////////////////////////////
  12.  
  13. #if defined(INCLUDE_FLOWGRAPHDEBUGGER_EXTENSION)
  14.  
  15. #ifndef __FLOWGRAPHDEBUGGER_H__
  16.         #define __FLOWGRAPHDEBUGGER_H__
  17.  
  18.         #include <CryCore/Containers/CryListenerSet.h>
  19.         #include <CryFlowGraph/IFlowGraphDebugger.h>
  20.         #include <CryExtension/ClassWeaver.h>
  21.  
  22. class CFlowGraphDebugger : public IFlowGraphDebugger
  23. {
  24.         CRYINTERFACE_SIMPLE(IFlowGraphDebugger)
  25.         CRYGENERATE_SINGLETONCLASS(CFlowGraphDebugger, IFlowGraphDebuggerExtensionName, 0x2D6810E10CBD467A, 0xB5646539C3778285)
  26.  
  27.         CFlowGraphDebugger();
  28.         virtual ~CFlowGraphDebugger();
  29.  
  30. public:
  31.  
  32.         // IFlowGraphDebugger
  33.         virtual bool               AddBreakpoint(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr) override;
  34.         virtual bool               RemoveBreakpoint(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr) override;
  35.         virtual bool               RemoveAllBreakpointsForNode(IFlowGraphPtr pFlowGraph, TFlowNodeId nodeID) override;
  36.         virtual bool               RemoveAllBreakpointsForGraph(IFlowGraphPtr pFlowgraph) override;
  37.         virtual bool               HasBreakpoint(IFlowGraphPtr pFlowGraph, const SFlowAddress& addr) const override;
  38.         virtual bool               HasBreakpoint(IFlowGraphPtr pFlowGraph, TFlowNodeId nodeID) const override;
  39.         virtual bool               HasBreakpoint(IFlowGraphPtr pFlowGraph) const override;
  40.         virtual bool               EnableBreakpoint(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr, bool enable) override;
  41.         virtual bool               EnableTracepoint(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr, bool enable) override;
  42.         virtual bool               IsBreakpointEnabled(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr) const override;
  43.         virtual bool               IsTracepoint(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr) const override;
  44.         virtual const SBreakPoint& GetBreakpoint() const override { return m_BreakPoint; };
  45.         virtual void               InvalidateBreakpoint() override;
  46.         virtual bool               BreakpointHit() const override;
  47.         virtual bool               RegisterListener(IFlowGraphDebugListener* pListener, const char* name) override;
  48.         virtual void               UnregisterListener(IFlowGraphDebugListener* pListener) override;
  49.         virtual bool               PerformActivation(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr, const TFlowInputData& value) override;
  50.         virtual bool               PerformActivation(IFlowGraphPtr pFlowgraph, int edgeIndex, const SFlowAddress& fromAddr, const SFlowAddress& toAddr, const TFlowInputData& value) override;
  51.         virtual bool               RePerformActivation() override;
  52.         virtual void               ClearBreakpoints() override;
  53.         virtual bool               GetBreakpoints(DynArray<SBreakPoint>& breakpointsDynArray) override;
  54.         virtual IFlowGraphPtr      GetRootGraph(IFlowGraphPtr pFlowGraph) const override;
  55.         virtual void               EnableStepMode(bool bEnableStepMode) override { m_bStepModeEnabled = bEnableStepMode; }
  56.         virtual bool               IsStepModeEnabled() override                  { return m_bStepModeEnabled; }
  57.         virtual bool               AddIgnoredFlowgraph(IFlowGraphPtr pFlowgraph) override;
  58.         virtual bool               RemoveIgnoredFlowgraph(IFlowGraphPtr pFlowgraph) override;
  59.         virtual bool               IsFlowgraphIgnored(IFlowGraphPtr pFlowgraph) override;
  60.         virtual bool               IgnoreFlowgraphType(IFlowGraph::EFlowGraphType type, bool bIgnore) override;
  61.         virtual bool               IsFlowgraphTypeIgnored(IFlowGraph::EFlowGraphType type) override;
  62.         // ~IFlowgraphDebugger
  63.  
  64. private:
  65.  
  66.         bool                       CheckForValidIDs(TFlowNodeId nodeID, TFlowPortId portID) const;
  67.         bool                       CheckForDelayedActivations();
  68.         bool                       TryActivatePort(SBreakPoint& breakpoint, IFlowEdgeIterator::Edge& edge, bool& bPerform, int edgeIndex);
  69.  
  70.         void                       FillDynArray(DynArray<SBreakPoint>& breakpointsDynArray, TFlowPortIDS portIDS, IFlowGraphPtr pFlowgraph, TFlowNodeId nodeID, bool bIsOutput);
  71.  
  72.         const SBreakPointPortInfo* GetBreakpointInfo(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr) const;
  73.         SBreakPointPortInfo*       GetBreakpointInfo(IFlowGraphPtr pFlowgraph, const SFlowAddress& addr);
  74.  
  75.         TDebugInfo  m_DebugInfo;
  76.         bool        m_BreakpointHit;
  77.         bool        m_RePerformActivation;
  78.         bool        m_bStepModeEnabled;
  79.         SBreakPoint m_BreakPoint;
  80.  
  81.         typedef std::deque<SBreakPoint> TDelayedActivations;
  82.         TDelayedActivations m_DelayedActivations;
  83.  
  84.         typedef std::vector<IFlowGraphPtr> TIgnoredFlowgraphs;
  85.         TIgnoredFlowgraphs m_IgnoredFlowgraphs;
  86.  
  87.         typedef std::vector<IFlowGraph::EFlowGraphType> TIgnoredFlowgraphTypes;
  88.         TIgnoredFlowgraphTypes                 m_IgnoredFlowgraphTypes;
  89.  
  90.         CListenerSet<IFlowGraphDebugListener*> m_Listeners;
  91. };
  92.  
  93. #endif
  94. #endif
  95.  
downloadFlowGraphDebugger.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top