32 class FactoryBaseImpl;
48 Factory(std::shared_ptr<FactoryBaseImpl> impl);
56 Factory(
const std::string& controlSystemName);
95 static void registerControlSystem(
Factory& factory);
105 void run(
int argc,
char *argv[]);
116 void createDevice(
const std::string& driverName,
const std::string& deviceName,
const namedParameters_t& parameters);
123 void destroyDevice(
const std::string& deviceName);
139 void subscribe(
const std::string& pushFrom,
const std::string& pushTo);
145 void unsubscribe(
const std::string& pushTo);
159 void replicate(
const std::string& replicateSource,
const std::string& replicateDestination);
167 void stopReplicationTo(
const std::string& destination);
176 Thread runInThread(
const std::string& name, threadFunction_t
function);
178 void loadNamingRules(std::istream& rules);
179 void setNamingRules(
const std::string& rulesName);
184 std::shared_ptr<FactoryBaseImpl> m_pFactory;
189 #endif // NDSFACTORY_H
std::function< void(void *)> deallocateDriver_t
Definition for the function executed to deallocate a driver.
Definition: definitions.h:244
A node object that can contain other nodes or PVs as children.
Definition: node.h:38
std::function< void *(Factory &factory, const std::string &deviceName, const namedParameters_t ¶meters)> allocateDriver_t
Definition for the function executed to allocate a driver.
Definition: definitions.h:224
Defines all the enumeration and common types used across the NDS library.
Represents a thread.
Definition: thread.h:44
std::map< std::string, std::string > namedParameters_t
Map containing named parameters passed to the device during the initialization.
Definition: definitions.h:222
Communicates with a static instance of the control system.
Definition: factory.h:43