NDS3  1.0.0
API reference manual
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
exceptions.h
Go to the documentation of this file.
1 /*
2  * Nominal Device Support v3 (NDS3)
3  *
4  * Copyright (c) 2015 Cosylab d.d.
5  *
6  * For more information about the license please refer to the license.txt
7  * file included in the distribution.
8  */
9 
10 #ifndef NDSEXCEPTIONS_H
11 #define NDSEXCEPTIONS_H
12 
23 #include <stdexcept>
24 #include "nds3/definitions.h"
25 
26 namespace nds
27 {
28 
32 class NDS3_API NdsError: public std::runtime_error
33 {
34 public:
40  NdsError(const std::string& what);
41 };
42 
46 class NDS3_API StateMachineError: public NdsError
47 {
48 public:
54  StateMachineError(const std::string& what);
55 };
56 
57 
65 {
66 public:
72  StateMachineRollBack(const std::string& what);
73 };
74 
75 
82 {
83 public:
84  StateMachineNoSuchTransition(const std::string& what);
85 };
86 
87 
93 {
94 public:
95  StateMachineTransitionDenied(const std::string& what);
96 };
97 
98 
106 class NDS3_API TimeConversionError: public NdsError
107 {
108 public:
109  TimeConversionError(const std::string& what);
110 };
111 
112 
118 class NDS3_API NoPortDefinedError: public std::logic_error
119 {
120 public:
121  NoPortDefinedError(const std::string& what);
122 };
123 
124 
129 class NDS3_API FactoryError: public NdsError
130 {
131 public:
132  FactoryError(const std::string& what);
133 };
134 
135 
140 class NDS3_API DirectoryNotFoundError: public FactoryError
141 {
142 public:
143  DirectoryNotFoundError(const std::string& what);
144 };
145 
150 class NDS3_API DriverNotFound: public FactoryError
151 {
152 public:
153  DriverNotFound(const std::string& what);
154 };
155 
160 class NDS3_API DriverAlreadyRegistered: public FactoryError
161 {
162 public:
163  DriverAlreadyRegistered(const std::string& what);
164 };
165 
171 {
172 public:
173  DriverDoesNotExportRegistrationFunctions(const std::string& what);
174 };
175 
176 class NDS3_API ControlSystemNotFound: public FactoryError
177 {
178 public:
179  ControlSystemNotFound(const std::string& what);
180 };
181 
182 class NDS3_API DeviceNotAllocated: public FactoryError
183 {
184 public:
185  DeviceNotAllocated(const std::string& what);
186 };
187 
188 class NDS3_API DeviceAlreadyCreated: public FactoryError
189 {
190 public:
191  DeviceAlreadyCreated(const std::string& what);
192 };
193 
194 class PVAlreadyDeclared: public FactoryError
195 {
196 public:
197  PVAlreadyDeclared(const std::string& what);
198 };
199 
200 class MissingInputPV: public FactoryError
201 {
202 public:
203  MissingInputPV(const std::string& what);
204 };
205 
206 class MissingOutputPV: public FactoryError
207 {
208 public:
209  MissingOutputPV(const std::string& what);
210 };
211 
212 class MissingDestinationPV: public FactoryError
213 {
214 public:
215  MissingDestinationPV(const std::string& what);
216 };
217 
218 class INIParserError: public NdsError
219 {
220 public:
221  INIParserError(const std::string& what);
222 };
223 
224 class INIParserMissingSection: public INIParserError
225 {
226 public:
227  INIParserMissingSection(const std::string& what);
228 };
229 
230 class INIParserSyntaxError: public INIParserError
231 {
232 public:
233  INIParserSyntaxError(const std::string& what);
234 };
235 
236 }
237 
238 #endif // NDSEXCEPTIONS_H
This transition is thrown by the state machine when a delegated function reject the transition...
Definition: exceptions.h:92
This exception is thrown while creating a device when the requested device driver cannot be located...
Definition: exceptions.h:150
The base class for all the exceptions thrown by the library.
Definition: exceptions.h:32
This exception is thrown when a driver with the same name has already been registered.
Definition: exceptions.h:160
Defines all the enumeration and common types used across the NDS library.
Base class for all the exceptions thrown by the StateMachine.
Definition: exceptions.h:46
This exception is thrown when there is an error in the conversion between the UNIX epoch and the EPIC...
Definition: exceptions.h:106
This exception is thrown when the folder being scanned for control system modules does not exist...
Definition: exceptions.h:140
This exception is thrown when there isn't any Port defined in the device structure. Without a Port there cannot be any communication with the control system.
Definition: exceptions.h:118
This is the base class for exceptions thrown by the NDS Factory. Usually it is thrown while allocatin...
Definition: exceptions.h:129
The user implemented code should throw this exception from a state transition function to cause the s...
Definition: exceptions.h:64
This exception is thrown by the StateMachine when a transition between 2 states cannot be executed be...
Definition: exceptions.h:81
This exception is thrown when a loaded shared module containing a NDS device does not contain the exp...
Definition: exceptions.h:170