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