File: Poco.Util.Subsystem.html

package info (click to toggle)
poco-doc 1.3.6-1
  • links: PTS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, squeeze, stretch, wheezy
  • size: 10,076 kB
  • ctags: 9,611
  • sloc: makefile: 31
file content (83 lines) | stat: -rw-r--r-- 7,671 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Class Poco::Util::Subsystem</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="publisher" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="copyright" content="Copyright (c) 2009, Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="language" content="en"/>
<meta name="date" content="2009-11-24"/>
<meta name="generator" content="PocoDoc"/>
<link rel="stylesheet" href="css/styles.css" type="text/css"/>
</head>
<body bgcolor="#ffffff" leftmargin="0" topmargin="0">
<div class="header">
<h1 class="namespace"><a href="Poco.Util.html" class="namespace">Poco::Util</a></h1>
<h1 class="symbol">class Subsystem</h1>
</div>
<div class="body">
<p>
<b>Library:</b> Util<br />
<b>Package:</b> Application<br />
<b>Header:</b> Poco/Util/Subsystem.h</p>
<h2>Description</h2>
<div class="description">
<p>Subsystems extend an application in a modular way. </p>
<p>The <a href="Poco.Util.Subsystem.html" title="class Poco::Util::Subsystem">Subsystem</a> class provides a common interface for subsystems so that subsystems can be automatically initialized at startup and uninitialized at shutdown. </p>
<p>Subsystems should also support dynamic reconfiguration, so that they can be reconfigured anytime during the life of a running application. </p>
<p>The degree to which dynamic reconfiguration is supported is up to the actual subsystem implementation. It can  range from ignoring the reconfiguration request (not recommended), to changing certain settings that affect the performance, to a complete reinitialization. </p>
</div>
<h2>Inheritance</h2>
<p><b>Direct Base Classes: </b><a href="Poco.RefCountedObject.html" title="class Poco::RefCountedObject">Poco::RefCountedObject</a></p>
<p><b>All Base Classes: </b><a href="Poco.RefCountedObject.html" title="class Poco::RefCountedObject">Poco::RefCountedObject</a></p>
<p><b>Known Derived Classes: </b><a href="Poco.Util.Application.html" title="class Poco::Util::Application">Application</a>, <a href="Poco.Util.LoggingSubsystem.html" title="class Poco::Util::LoggingSubsystem">LoggingSubsystem</a>, <a href="Poco.Util.ServerApplication.html" title="class Poco::Util::ServerApplication">ServerApplication</a></p>
<h2>Member Summary</h2>
<p><b>Member Functions: </b><a href="Poco.Util.Subsystem.html#17228" title="Poco::Util::Subsystem::defineOptions()">defineOptions</a>, <a href="Poco.Util.Subsystem.html#17223" title="Poco::Util::Subsystem::initialize()">initialize</a>, <a href="Poco.Util.Subsystem.html#17222" title="Poco::Util::Subsystem::name()">name</a>, <a href="Poco.Util.Subsystem.html#17226" title="Poco::Util::Subsystem::reinitialize()">reinitialize</a>, <a href="Poco.Util.Subsystem.html#17225" title="Poco::Util::Subsystem::uninitialize()">uninitialize</a></p>
<p><b>Inherited Functions: </b><a href="Poco.RefCountedObject.html#9659" title="Poco::RefCountedObject::duplicate()">duplicate</a>, <a href="Poco.RefCountedObject.html#9661" title="Poco::RefCountedObject::referenceCount()">referenceCount</a>, <a href="Poco.RefCountedObject.html#9660" title="Poco::RefCountedObject::release()">release</a></p>
<h2>Constructors</h2>
<h3><a name="17221">Subsystem</a></h3>
<p class="decl"><a href="Poco.Util.Subsystem.html" title="class Poco::Util::Subsystem">Subsystem</a>();</p>
<div class="description">
<p>Creates the <a href="Poco.Util.Subsystem.html" title="class Poco::Util::Subsystem">Subsystem</a>. </p>
</div>
<h2>Destructor</h2>
<h3><a name="17230">~Subsystem</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual ~<a href="Poco.Util.Subsystem.html" title="class Poco::Util::Subsystem">Subsystem</a>();</p>
<div class="description">
<p>Destroys the <a href="Poco.Util.Subsystem.html" title="class Poco::Util::Subsystem">Subsystem</a>. </p>
</div>
<h2>Member Functions</h2>
<h3><a name="17228">defineOptions</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void defineOptions(<br />&nbsp;&nbsp;&nbsp;&nbsp;<a href="Poco.Util.OptionSet.html" title="class Poco::Util::OptionSet">OptionSet</a> &amp; options<br />);</p>
<div class="description">
<p>Called before the <a href="Poco.Util.Application.html" title="class Poco::Util::Application">Application</a>'s command line processing begins. If a subsystem wants to support command line arguments, it must override this method. The default implementation does not define any options. </p>
<p>To effectively handle options, a subsystem should either bind the option to a configuration property or specify a callback to handle the option. </p>
</div>
<h3><a name="17223">initialize</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void initialize(<br />&nbsp;&nbsp;&nbsp;&nbsp;<a href="Poco.Util.Application.html" title="class Poco::Util::Application">Application</a> &amp; app<br />) = 0;</p>
<div class="description">
<p>Initializes the subsystem. </p>
</div>
<h3><a name="17222">name</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual const char * name() const = 0;</p>
<div class="description">
<p>Returns the name of the subsystem. Must be implemented by subclasses. </p>
</div>
<h3><a name="17226">reinitialize</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void reinitialize(<br />&nbsp;&nbsp;&nbsp;&nbsp;<a href="Poco.Util.Application.html" title="class Poco::Util::Application">Application</a> &amp; app<br />);</p>
<div class="description">
<p>Re-initializes the subsystem. </p>
<p>The default implementation just calls <a href="Poco.Util.Subsystem.html#17225" title="Poco::Util::Subsystem::uninitialize()">uninitialize</a>() followed by <a href="Poco.Util.Subsystem.html#17223" title="Poco::Util::Subsystem::initialize()">initialize</a>(). Actual implementations might want to use a less radical and possibly more performant  approach. </p>
</div>
<h3><a name="17225">uninitialize</a> <img src="images/protected.gif" alt="protected" title="protected" style="vertical-align:baseline;" border="0" />  <img src="images/virtual.gif" alt="virtual" title="virtual" style="vertical-align:baseline;" border="0" /> </h3>
<p class="decl">virtual void uninitialize() = 0;</p>
<div class="description">
<p>Uninitializes the subsystem. </p>
</div>
<p class="footer">POCO C++ Libraries 1.3.6-all<br />
Copyright &copy; 2009, <a href="http://pocoproject.org/" target="_blank">Applied Informatics Software Engineering GmbH and Contributors</a></p>

</div>
</body>
</html>