19 #include <boost/shared_ptr.hpp> 20 #include <boost/noncopyable.hpp> 151 virtual void launch(
int argc,
char* argv[],
const bool test_mode);
397 return (check_only_);
413 return (io_service_);
421 return (controller_);
482 static_cast<void>(input);
573 void usage(
const std::string& text);
588 std::string app_name_;
593 std::string bin_name_;
bool osSignalHandler(int signum)
Handler for processing OS-level signals.
virtual isc::data::ConstElementPtr parseFile(const std::string &file_name)
Parse a given file into Elements.
DControllerBaseError(const char *file, size_t line, const char *what)
boost::shared_ptr< DControllerBase > DControllerBasePtr
virtual isc::data::ConstElementPtr parseText(const std::string &input)
Parse text into Elements.
std::string getVersion(bool extended)
returns Kea version on stdout and exit.
isc::data::ConstElementPtr configTestHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-test command
virtual isc::data::ConstElementPtr configFromFile()
Reconfigures the process from a configuration file.
void usage(const std::string &text)
Prints the program usage text to std error.
bool isVerbose() const
Supplies whether or not verbose logging is enabled.
asiolink::IOServicePtr & getIOService()
Getter for fetching the controller's IOService.
Exception thrown when the application process fails.
virtual void processSignal(int signum)
Application-level signal processing method.
void parseArgs(int argc, char *argv[])
Processes the command line arguments.
virtual ~DControllerBase()
Destructor.
DProcessBasePtr getProcess()
Fetches the current process.
boost::shared_ptr< IOService > IOServicePtr
Defines a smart pointer to an IOService instance.
void runProcess()
Invokes the application process's event loop,(DBaseProcess::run).
virtual bool customOption(int option, char *optarg)
Virtual method that provides derivations the opportunity to support additional command line options.
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
isc::data::ConstElementPtr shutdownHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for 'shutdown' command
friend class DControllerTest
boost::shared_ptr< DProcessBase > DProcessBasePtr
Defines a shared pointer to DProcessBase.
virtual void launch(int argc, char *argv[], const bool test_mode)
Acts as the primary entry point into the controller execution and provides the outermost application ...
Exception used to convey version info upwards.
virtual std::string getVersionAddendum()
Fetches text containing additional version specifics.
isc::data::ConstElementPtr shutdownProcess(isc::data::ConstElementPtr args)
Initiates shutdown procedure.
Exception thrown when the controller encounters an operational error.
virtual isc::data::ConstElementPtr checkConfig(isc::data::ConstElementPtr new_config)
Instance method invoked by the configuration event handler and which processes the actual configurati...
void setVerbose(bool value)
Method for enabling or disabling verbose logging.
static DControllerBasePtr & getController()
Static getter which returns the singleton instance.
boost::shared_ptr< const Element > ConstElementPtr
isc::data::ConstElementPtr configWriteHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-write command
void checkConfigOnly()
Check the configuration.
InvalidUsage(const char *file, size_t line, const char *what)
virtual isc::data::ConstElementPtr updateConfig(isc::data::ConstElementPtr new_config)
Instance method invoked by the configuration event handler and which processes the actual configurati...
ProcessRunError(const char *file, size_t line, const char *what)
Exception thrown when the command line is invalid.
This is a base class for exceptions thrown from the DNS library module.
static void setController(const DControllerBasePtr &controller)
Static setter which sets the singleton instance.
Defines the logger used by the top-level component of kea-dhcp-ddns.
LaunchError(const char *file, size_t line, const char *what)
isc::data::ConstElementPtr configGetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-get command
Logging initialization functions.
void ioSignalHandler(IOSignalId sequence_id)
Handler for processing IOSignals.
void initProcess()
Instantiates the application process and then initializes it.
Exception thrown when the controller launch fails.
ProcessInitError(const char *file, size_t line, const char *what)
void setCheckOnly(bool value)
Method for enabling or disabling check only mode.
Base class for all services.
virtual const std::string getUsageText() const
Virtual method which can be used to contribute derivation specific usage text.
DControllerBase(const char *app_name, const char *bin_name)
Constructor.
VersionMessage(const char *file, size_t line, const char *what)
Application Process Interface.
isc::data::ConstElementPtr buildReportHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for 'build-report' command
virtual const std::string getCustomOpts() const
Virtual method which returns a string containing the option letters for any custom command line optio...
Exception thrown when the application process encounters an operation in its event loop (i....
void initSignalHandling()
Initializes signal handling.
boost::shared_ptr< IOSignalQueue > IOSignalQueuePtr
Defines a pointer to an IOSignalQueue.
bool isCheckOnly() const
Supplies whether or not check only mode is enabled.
virtual DProcessBase * createProcess()=0
Abstract method that is responsible for instantiating the application process object.
std::string getAppName() const
Fetches the name of the application under control.
isc::data::ConstElementPtr versionGetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for version-get command
uint64_t IOSignalId
Defines a unique identifier type for IOSignal.
std::string getBinName() const
Fetches the name of the application executable.