YARP
Yet Another Robot Platform
manifestloader.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * All rights reserved.
4  *
5  * This software may be modified and distributed under the terms of the
6  * BSD-3-Clause license. See the accompanying LICENSE file for details.
7  */
8 
9 #ifndef YARP_MANAGER_MANIFESTLOADER
10 #define YARP_MANAGER_MANIFESTLOADER
11 
12 #include <yarp/manager/ymm-types.h>
13 #include <yarp/manager/module.h>
15 #include <yarp/manager/resource.h>
16 
17 namespace yarp {
18 namespace manager {
19 
20 
24 class AppLoader {
25 
26 public:
27  AppLoader() = default;
28  virtual ~AppLoader() = default;
29  virtual bool init() = 0;
30  virtual void fini() = 0;
31  virtual void reset() = 0;
33 
34 protected:
35 
36 private:
37 
38 };
39 
40 class AppSaver
41 {
42 public:
43  AppSaver() = default;
44  virtual ~AppSaver() = default;
45  virtual bool save(Application* application) = 0;
46 
47 protected:
48 
49 private:
50 };
51 
52 
53 
57 class ModuleLoader {
58 
59 public:
60  ModuleLoader() = default;
61  virtual ~ModuleLoader() = default;
62  virtual bool init() = 0;
63  virtual void reset() = 0;
64  virtual void fini() = 0;
65  virtual Module* getNextModule() = 0;
66 
67 protected:
68 
69 private:
70 
71 };
72 
73 
78 
79 public:
80  ResourceLoader() = default;
81  virtual ~ResourceLoader() = default;
82  virtual bool init() = 0;
83  virtual void reset() = 0;
84  virtual void fini() = 0;
86 
87 protected:
88 
89 private:
90 
91 };
92 
93 
98 struct AppTemplate {
99  std::string name;
100  std::string tmpFileName;
101 };
102 
103 
104 class TempLoader {
105 public:
106  TempLoader() = default;
107  virtual ~TempLoader() = default;
108  virtual bool init() = 0;
109  virtual void fini() = 0;
110  virtual void reset() = 0;
112 
113 protected:
114 
115 private:
116 
117 };
118 
119 } // namespace yarp
120 } // namespace manager
121 
122 
123 #endif // __YARP_MANAGER_MANIFESTLOADER__
Abstract Class AppLoader.
virtual ~AppLoader()=default
virtual Application * getNextApplication()=0
virtual bool init()=0
virtual void reset()=0
virtual void fini()=0
virtual ~AppSaver()=default
virtual bool save(Application *application)=0
Class Application.
Definition: application.h:292
Abstract Class ModuleLoader.
virtual Module * getNextModule()=0
virtual ~ModuleLoader()=default
Class Module.
Definition: module.h:103
Abstract Class ResourceLoader.
virtual ~ResourceLoader()=default
virtual GenericResource * getNextResource()=0
virtual bool init()=0
virtual ~TempLoader()=default
virtual void reset()=0
virtual AppTemplate * getNextAppTemplate()=0
virtual void fini()=0
The main, catch-all namespace for YARP.
Definition: environment.h:25
Abstract Class TempLoader.