Classes | |
| class | ConfigDefinition |
| Definition of a single configuration element "type". More... | |
| class | ConfigDefinitionReader |
| This object knows how to deserialize all versions of a configuration definition from a stream. More... | |
| class | ConfigDefinitionRepository |
| Stores a set of configuration definitions that can be retrieved by name. More... | |
| struct | NamePred |
| This is a helper type for use with cppdom::Node::getChildPred(). More... | |
| class | ConfigElement |
| A unit of configuration information. More... | |
| struct | ElementNamePred |
| This is a helper for use with std::find_if() for comparing element names. More... | |
| class | Configuration |
| List of jccl::ConfigElement objects. More... | |
| class | ElementFactory |
| Factory for elements and a place holder for some other system-wide factory functions. More... | |
| class | ParseUtil |
| Utility functions for handling the parsing of input files. More... | |
| class | PropertyDefinition |
| Describes properties. More... | |
| class | ConfigElementHandler |
| Abstract base class for all classes that can handle ConfigElement objects. More... | |
| class | ConfigManager |
| Dynamic reconfiguration management for JCCL. More... | |
| class | DepChecker |
| Base class for dependency checkers. More... | |
| class | DependencyManager |
| A dependency checker for dynamically added components. More... | |
| class | RemoteReconfig |
| Remote reconfiguration plug-in interface. More... | |
Namespaces | |
| namespace | types_tokens |
| namespace | definition_tokens |
| namespace | configuration_tokens |
Typedefs | |
| typedef boost::shared_ptr< ConfigDefinition > | ConfigDefinitionPtr |
| typedef boost::shared_ptr< ConfigElement > | ConfigElementPtr |
Enumerations | |
| enum | VarType { T_INT, T_FLOAT, T_BOOL, T_STRING, T_ELEMENT_PTR, T_CHILD_ELEMENT, VJ_T_INVALID } |
| enum | PendItemResult { SUCCESS, FAILED, NEED_DEPS } |
Functions | |
| JCCL_IMPLEMENT (std::string) getVersionString() | |
| JCCL_IMPLEMENT (vpr::Uint32) getVersionNumber() | |
| JCCL_API (std::string) getVersionString() | |
| Retruns the "human-readable" JCCL version string. | |
| JCCL_API (vpr::Uint32) getVersionNumber() | |
| Returns the 9-digit JCCL version integer. | |
| JCCL_IMPLEMENT (std::ostream &) operator<< (std | |
| std::ostream & | operator<< (std::ostream &out, const ConfigElement &self) |
| template<> | |
| std::string | ConfigElement::getProperty< std::string > (const std::string &prop, int ind) const |
| const std::string | EMBEDDED_SEPARATOR ("/") |
| std::ostream & | operator<< (std::ostream &out, const Configuration &self) |
| std::istream & | operator>> (std::istream &in, Configuration &self) |
| vprSingletonImp (ElementFactory) | |
| std::ostream & | operator<< (std::ostream &out, const PropertyDefinition &self) |
| static void | outputPendingItemState (int debugLevel, const std::string &elementName, const std::string &elementType, PendItemResult result) |
| vprSingletonImp (ConfigManager) | |
| vprSingletonImp (DependencyManager) | |
Variables | |
| static const int | pending_repeat_limit = 3 |
| typedef boost::shared_ptr<ConfigDefinition> jccl::ConfigDefinitionPtr |
Definition at line 48 of file ConfigDefinitionPtr.h.
| typedef boost::shared_ptr<ConfigElement> jccl::ConfigElementPtr |
Definition at line 48 of file ConfigElementPtr.h.
| enum jccl::VarType |
Definition at line 42 of file ConfigTokens.h.
00043 { 00044 T_INT, 00045 T_FLOAT, 00046 T_BOOL, 00047 T_STRING, 00048 T_ELEMENT_PTR, 00049 T_CHILD_ELEMENT, 00050 VJ_T_INVALID 00051 } VarType;
| enum jccl::PendItemResult |
| jccl::JCCL_IMPLEMENT | ( | std::string | ) |
| jccl::JCCL_IMPLEMENT | ( | vpr::Uint32 | ) |
| jccl::JCCL_API | ( | std::string | ) |
Retruns the "human-readable" JCCL version string.
The full form includes the version number (major.minor.patch-build), the canonical name of the release, the threading subsystem, and the build date. The major version number is updated when major architectural changes are made; the minor when there are minor API changes; and the patch when there are bug fixes. The build number is usually representative of the nightly build process relative to a given version x.y.z.
| jccl::JCCL_API | ( | vpr::Uint32 | ) |
Returns the 9-digit JCCL version integer.
This form provides three digits for each of the major, minor, and patch numbers with no leading zeros.
__JCCL_version. The value is the same as what is returned by this function. | jccl::JCCL_IMPLEMENT | ( | std::ostream & | ) |
| std::ostream& jccl::operator<< | ( | std::ostream & | out, | |
| const ConfigElement & | self | |||
| ) |
| std::string jccl::ConfigElement::getProperty< std::string > | ( | const std::string & | prop, | |
| int | ind | |||
| ) | const [inline] |
| const std::string jccl::EMBEDDED_SEPARATOR | ( | "/" | ) |
Referenced by jccl::ConfigElement::getFullName().
| std::ostream& jccl::operator<< | ( | std::ostream & | out, | |
| const Configuration & | self | |||
| ) |
Definition at line 120 of file Configuration.cpp.
References jccl::configuration_tokens::CFG_VERSION(), jccl::configuration_tokens::CFG_VERSION_ATTR(), and jccl::configuration_tokens::SETTINGS_INSTRUCTION().
00121 { 00122 cppdom::NodePtr cfg_node; 00123 00124 // TODO: Find a better way of doing this, the java side seems to be able to 00125 // do it just fine. 00126 out << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; 00127 out << "<?" << tokens::SETTINGS_INSTRUCTION << " " 00128 << tokens::CFG_VERSION_ATTR << "=\"" << tokens::CFG_VERSION << "\"?>"; 00129 00130 self.createConfigurationNode(cfg_node); 00131 cfg_node->save(out); 00132 return out; 00133 }
| std::istream& jccl::operator>> | ( | std::istream & | in, | |
| Configuration & | self | |||
| ) |
Definition at line 135 of file Configuration.cpp.
References jccl::configuration_tokens::CONFIGURATION(), jccl::configuration_tokens::DEFINITION_PATH(), jccl::configuration_tokens::ELEMENTS(), jccl::configuration_tokens::INCLUDE(), and jcclDBG_CONFIG().
00136 { 00137 // Create a new XML document 00138 cppdom::DocumentPtr cfg_doc(ElementFactory::instance()->createXMLDocument()); 00139 cppdom::ContextPtr context_ptr = cfg_doc->getContext(); 00140 00141 // Load the document from the input stream. 00142 cfg_doc->load(in, context_ptr); 00143 00144 // Get the configuration node. 00145 cppdom::NodePtr cfg_node(cfg_doc->getChild(tokens::CONFIGURATION)); 00146 self.setConfigurationNode(cfg_node); 00147 00148 // Load in the elements from the confiruration node. 00149 self.loadFromElementNode(cfg_node->getChild(tokens::ELEMENTS)); 00150 00151 cppdom::NodePtr def_path_node(cfg_node->getChild(tokens::DEFINITION_PATH)); 00152 if ( def_path_node.get() != NULL ) 00153 { 00154 self.setDefinitionPath(def_path_node); 00155 } 00156 00157 // Go through the <include> XML elements. 00158 cppdom::NodeList inc_list = cfg_node->getChildren(tokens::INCLUDE); 00159 for ( cppdom::NodeList::iterator itr = inc_list.begin(); 00160 itr != inc_list.end(); 00161 ++itr ) 00162 { 00163 std::string cfg_filename = (*itr)->getCdata(); 00164 vprDEBUG(jcclDBG_CONFIG, vprDBG_CONFIG_LVL) 00165 << "Including " << cfg_filename << std::endl 00166 << vprDEBUG_FLUSH; 00167 00168 // Load the file. 00169 // NOTE: Loading from a stream means that we have no parent file name to 00170 // provide to jccl::Configuration::load(). 00171 self.load(cfg_filename); 00172 } 00173 00174 return in; 00175 }
| jccl::vprSingletonImp | ( | ElementFactory | ) |
| std::ostream& jccl::operator<< | ( | std::ostream & | out, | |
| const PropertyDefinition & | self | |||
| ) |
| void jccl::outputPendingItemState | ( | int | debugLevel, | |
| const std::string & | elementName, | |||
| const std::string & | elementType, | |||
| PendItemResult | result | |||
| ) | [static] |
Definition at line 185 of file ConfigElementHandler.cpp.
References FAILED, NEED_DEPS, and SUCCESS.
Referenced by jccl::ConfigElementHandler::configProcessPending().
00188 { 00189 const int item_width(39); 00190 const int type_width(20); 00191 00192 vprDEBUG(vprDBG_ALL,debugLevel) 00193 << "Type: " << std::setiosflags(std::ios::right) 00194 << std::setfill(' ') << std::setw(type_width) << elementType 00195 << std::setiosflags(std::ios::right) 00196 << std::setfill(' ') << std::setw(item_width) << elementName 00197 << std::resetiosflags(std::ios::right) << " "; 00198 00199 /* 00200 const int prefix_len = name_prefix.length() + type_prefix.length(); 00201 int item_and_type_len = elementName.length() + elementType.length() + prefix_len; 00202 const int state_offset(60); 00203 00204 for(int c=0;c<(state_offset-item_and_type_len);c++) 00205 { 00206 vprDEBUG_CONTnl(vprDBG_ALL,debugLevel) << " "; 00207 } 00208 */ 00209 00210 switch(result) 00211 { 00212 case SUCCESS: 00213 vprDEBUG_CONTnl(vprDBG_ALL,debugLevel) << "[ " << clrSetNORM(clrGREEN) << "OK" << clrRESET << " ]"; 00214 break; 00215 case FAILED: 00216 vprDEBUG_CONTnl(vprDBG_ALL,debugLevel) << "[ " << clrSetNORM(clrRED) << "FAILED" << clrRESET << " ]"; 00217 break; 00218 case NEED_DEPS: 00219 vprDEBUG_CONTnl(vprDBG_ALL,debugLevel) << "[ " << clrSetNORM(clrYELLOW) << "NEED DEPS" << clrRESET << " ]"; 00220 break; 00221 } 00222 00223 vprDEBUG_CONTnl(vprDBG_ALL,debugLevel) << std::endl << vprDEBUG_FLUSH; 00224 }
| jccl::vprSingletonImp | ( | ConfigManager | ) |
| jccl::vprSingletonImp | ( | DependencyManager | ) |
const int jccl::pending_repeat_limit = 3 [static] |
Definition at line 300 of file ConfigManager.cpp.
Referenced by jccl::ConfigManager::isPendingStale(), and jccl::ConfigManager::shouldCheckPending().
1.5.1