LRAUV  revA
MissionAPI.h
Go to the documentation of this file.
1 
17 #ifndef MISSIONAPI_H_
18 #define MISSIONAPI_H_
19 
20 #include "logger/Logger.h"
22 #include "utils/Str.h"
23 
24 class MissionNode;
25 
33 {
34 public:
35 
37  virtual ~MissionAPI() {};
38 
41  virtual MissionNode* loadMissionFile( const char* filename, Logger& logger,
42  Syslog::Severity severity ) = 0;
43 
44 protected:
45 
47  MissionAPI( const char* name, const char* extension )
48  {
49  MissionAPIRegistry::Register( name, extension, this );
50  };
51 
52 private:
53 
54  // Note that the copy constructor below is private and not given a body.
55  // Any attempt to call it will return a compiler error.
56  MissionAPI( const MissionAPI& old ); // disallow copy constructor
57 
58 };
59 
60 #endif /* MISSIONAPI_H_ */
Client-side interface for injecting log data into the log queue.
Definition: Logger.h:30
static void Register(const char *const name, const char *const ext, MissionAPI *api)
Definition: MissionAPIRegistry.cpp:30
virtual MissionNode * loadMissionFile(const char *filename, Logger &logger, Syslog::Severity severity)=0
Load the mission with the indicated filename In case of error, log message with indicated severity an...
MissionAPI(const char *name, const char *extension)
Protected constructor for abstract base class;.
Definition: MissionAPI.h:47
Wraps a TiXmlNode.
Definition: MissionNode.h:20
Abstract base class for mission scripts.
Definition: MissionAPI.h:32
Contains the Logger class definition.
virtual ~MissionAPI()
Destructor.
Definition: MissionAPI.h:37
Severity
An attempt to define different levels of syslog severity.
Definition: Syslog.h:28
Contains the MissionAPIRegistry class definition.