19 #include <boost/shared_ptr.hpp>
20 #include <boost/noncopyable.hpp>
153 virtual int launch(
int argc,
char* argv[],
const bool test_mode);
443 return (check_only_);
459 return (io_service_);
467 return (controller_);
476 static void setController(
const DControllerBasePtr& controller);
528 static_cast<void>(input);
592 void usage(
const std::string& text);
616 std::string app_name_;
621 std::string bin_name_;
643 static DControllerBasePtr controller_;
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 statusGetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for status-get command
isc::data::ConstElementPtr configTestHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-test command
isc::data::ConstElementPtr serverTagGetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for server-tag-get 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.
asiolink::IOServicePtr & getIOService()
Getter for fetching the controller's IOService.
isc::data::ConstElementPtr configReloadHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-reload command
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...
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.
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.
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 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.
bool isCheckOnly() const
Supplies whether or not check only mode is enabled.
std::string handleOtherObjects(isc::data::ConstElementPtr args)
Deals with other (i.e.
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.
virtual const std::string getUsageText() const
Virtual method which can be used to contribute derivation specific usage text.
InvalidUsage(const char *file, size_t line, const char *what)
virtual const char * what() const
Returns a C-style character string of the cause of the exception.
boost::shared_ptr< IOSignalSet > IOSignalSetPtr
Defines a pointer to an IOSignalSet.
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)
virtual int 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 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)
bool isVerbose() const
Supplies whether or not verbose logging is enabled.
isc::data::ConstElementPtr configGetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-get command
Logging initialization functions.
void initProcess()
Instantiates the application process and then initializes it.
isc::data::ConstElementPtr configSetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for config-set command
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.
std::string getAppName() const
Fetches the name of the application under control.
Base class for all services.
std::string getBinName() const
Fetches the name of the application executable.
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
Exception thrown when the application process encounters an operation in its event loop (i...
void initSignalHandling()
Initializes signal handling.
virtual DProcessBase * createProcess()=0
Abstract method that is responsible for instantiating the application process object.
isc::data::ConstElementPtr versionGetHandler(const std::string &command, isc::data::ConstElementPtr args)
handler for version-get command