MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrPduDatabaseEncoderFactory.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #ifndef lgrPduDatabaseEncoderFactory_H_
10 #define lgrPduDatabaseEncoderFactory_H_
11 
12 #if DtDIS
13 
15 
16 #include <vlutil/vlSmartPointers.h>
17 #include <vlpi/disEnums.h>
18 
19 #include <map>
20 
21 namespace MAKLogger
22 {
23 
25 
26  class DT_DLL_SQLEXPORTER DtLgrPduDatabaseEncoderFactory
27  {
28  public:
29 
31  static void registerEncoder(DtPduKind kind,DtLgrPduDatabaseEncoder* encoder);
32 
36  static const DtLgrPduDatabaseEncoder* getEncoder(DtPduKind kind);
37 
39  static void resetEncoder(DtPduKind kind, DtLgrPduDatabaseEncoder* encoder);
40 
43  static void resetFactory();
44 
45  protected:
46 
47  static DtLgrPduDatabaseEncoderFactory glocalInstace;
48  static DtLgrPduDatabaseEncoderFactory* instance();
49 
50  DtLgrPduDatabaseEncoderFactory();
51  ~DtLgrPduDatabaseEncoderFactory();
52 
53  void addEncoder(DtPduKind kind,DtLgrPduDatabaseEncoder* encoder);
54  const DtLgrPduDatabaseEncoder* lookupEncoder(DtPduKind) const;
55 
56  typedef DtBoost::shared_ptr<DtLgrPduDatabaseEncoder> DtLgrPduDatabaseEncoderSP;
57  typedef std::map<DtPduKind,DtLgrPduDatabaseEncoderSP> EncoderMap;
58  EncoderMap myEncoderMap;
59  DtLgrPduDatabaseEncoder* myDefaultEncoder;
60  };
61 
62 }
63 
64 #endif
65 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)