versadac  1
versadac - Scalable Recorder Firmware
uhh_navmgr.h
1 /*****************************************************************************
2 FILE : U H H _ N A V M G R . H
3 VERSION : $Id: uhh_navmgr.h 4939 2006-10-10 14:33:00Z martinto $
4 AUTHOR : Dave Storey
5 SYSTEM : Gnu C++
6 DESCRIPTION : UHH navigator manager.
7  Includes management of group histories.
8 *****************************************************************************/
9 
10 #if !defined __UHH_NAVMGR_H
11 #define __UHH_NAVMGR_H
12 
13 extern "C" {
14 #include "uhh_msgiface.h"
15 }
16 #include "uhh_grouphist.h"
17 #include "uhh_heap.h"
18 
19 
20 class UhhNavMgr : public UhhHeap
21 {
22 public:
23  // Public methods
24  UhhNavMgr();
25  ~UhhNavMgr();
26  void msg(uint8 *z_puReq, uint8 *z_puRes,
27  sint32 z_nResMax = ENUM_UhhMsg_Res_HdrSize);
28 
29  // Public methods called by navigators
30  class UhhGroupHist *linkHistory(char *z_szDirectory, sint32 z_nInstrument,
31  sint32 z_nUhhSeqNoMin,
32  sint32 z_nUhhSeqNoMax,
33  sint32 z_nGroup);
34  bool refreshHistory(UhhGroupHist *z_pGroupHist);
35  void resumeHistory(UhhGroupHist *z_pGroupHist);
36  void setActive(class UhhNav *z_pNav);
37  void sliceDeleted(UhhGroupHist *z_pGroupHist, UhhSlice *z_pSli);
38  void suspendHistory(UhhGroupHist *z_pGroupHist);
39  void unlinkHistory(class UhhGroupHist *z_pGroupHist);
40  bool validateNav(class UhhNav *z_pNav);
41 
42 
43 private:
44  ENUM_UhhMsg_Err createNav(uint8 *z_puRes, ENUM_UhhMsg_Com z_eComType,
45  sint32 z_nComId);
46  ENUM_UhhMsg_Err destroyNav(sint32 z_nNavRef);
47  ENUM_UhhMsg_Err destroyJniNavs();
48  ENUM_UhhMsg_Err destroySktNavs(sint32 z_nComId);
49  void printfHists();
50  void printfNavs();
51  ENUM_UhhMsg_Err refreshSuspHists();
52 
53  // List of navigators being managed
54  class UhhNav *m_pNavs;
55 
56  // List of group histories being managed
57  class UhhGroupHist *m_pHists;
58 };
59 
60 
61 #endif
Definition: uhh_navmgr.h:20
Definition: uhh_nav.h:25
Definition: uhh_grouphist.h:118
Definition: uhh_heap.h:31
Definition: uhh_grouphist.h:52