本文整理汇总了C++中jccl::ConfigElementPtr::getName方法的典型用法代码示例。如果您正苦于以下问题:C++ ConfigElementPtr::getName方法的具体用法?C++ ConfigElementPtr::getName怎么用?C++ ConfigElementPtr::getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jccl::ConfigElementPtr
的用法示例。
在下文中一共展示了ConfigElementPtr::getName方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: removeProxyAlias
/**
* Removes a proxy aliases in config database.
* @pre none
* @post (alias not in list) ==> returns = false<br>
* (alias is in list) ==> (alias is removed from list) returns true
*/
bool InputManager::removeProxyAlias(jccl::ConfigElementPtr element)
{
vpr::DebugOutputGuard dbg_output(gadgetDBG_INPUT_MGR, vprDBG_STATE_LVL,
std::string("gadget::InputManager::removeProxyAlias\n"),
std::string("...done removing alias.\n"));
vprASSERT(element->getID() == "alias");
std::string alias_name, proxy_name; // The string of the alias, name of proxy to pt to
alias_name = element->getName();
if(mProxyAliases.end() == mProxyAliases.find(alias_name))
{
vprDEBUG(vprDBG_ERROR,vprDBG_CRITICAL_LVL)
<< clrOutNORM(clrRED,"ERROR:")
<< "gadget::InputManager::RemoveProxyAlias: Alias: " << alias_name
<< " cannot find proxy: " << proxy_name.c_str() << std::endl
<< vprDEBUG_FLUSH;
return false;
}
mProxyAliases.erase(alias_name);
vprDEBUG(gadgetDBG_INPUT_MGR,vprDBG_CONFIG_LVL)
<< " alias:" << alias_name.c_str() << " index:"
<< mProxyAliases[proxy_name] << " has been removed." << std::endl
<< vprDEBUG_FLUSH;
return true;
}
示例2: config
bool User::config(jccl::ConfigElementPtr element)
{
vprASSERT(element.get() != NULL);
vprASSERT(element->getID() == "user");
vprDEBUG_BEGIN(vrjDBG_KERNEL, vprDBG_STATE_LVL)
<< "vjUser::config: Creating a new user\n" << vprDEBUG_FLUSH;
// Assign user id
mUserId = mNextUserId++;
// Setup user name
mName = element->getName();
// Initialize the head stuff
std::string head_alias = element->getProperty<std::string>("head_position");
mHead.init(head_alias);
// Initialize interocular distance
mInterocularDist = element->getProperty<float>("interocular_distance");
if(mInterocularDist == 0.0f)
{
vprDEBUG(vrjDBG_KERNEL,vprDBG_CONFIG_LVL) << clrOutNORM(clrRED, "WARNING:") << "User: " << mName << " has interocular distance is set to 0.0f. This is probably not what you wanted.\n" << vprDEBUG_FLUSH;
}
vprDEBUG(vrjDBG_KERNEL,vprDBG_STATE_LVL) << "id: " << mUserId << " Name:" << mName.c_str()
<< " head_positon:" << head_alias.c_str()
<< " interocular_distance:" << mInterocularDist
<< std::endl << vprDEBUG_FLUSH;
return true;
}
示例3: configure
void MultiObjectGrabStrategy::configure(jccl::ConfigElementPtr elt)
{
vprASSERT(elt->getID() == getElementType());
const unsigned int req_cfg_version(1);
// Check for correct version of plugin configuration.
if ( elt->getVersion() < req_cfg_version )
{
std::stringstream msg;
msg << "Configuration of MultiObjectGrabStrategy failed. Required "
<< "config element version is " << req_cfg_version
<< ", but element '" << elt->getName() << "' is version "
<< elt->getVersion();
throw PluginException(msg.str(), VRKIT_LOCATION);
}
const std::string choose_btn_prop("choose_button_nums");
const std::string grab_btn_prop("grab_button_nums");
const std::string release_btn_prop("release_button_nums");
mChooseBtn.configure(elt->getProperty<std::string>(choose_btn_prop),
mWandInterface);
mGrabBtn.configure(elt->getProperty<std::string>(grab_btn_prop),
mWandInterface);
mReleaseBtn.configure(elt->getProperty<std::string>(release_btn_prop),
mWandInterface);
}
示例4: configAddDisplay
/**
* Adds the element to the configuration.
*
* @pre configCanHandle(element) == true
* @post (display of same name already loaded) ==> old display closed, new one opened<br>
* (display is new) ==> (new display is added)<br>
* Draw Manager is notified of the display change.
*/
bool DisplayManager::configAddDisplay(jccl::ConfigElementPtr element)
{
vprASSERT(configCanHandle(element)); // We must be able to handle it first of all
vprDEBUG_BEGIN(vrjDBG_DISP_MGR,vprDBG_STATE_LVL) << "------- DisplayManager::configAddDisplay -------\n" << vprDEBUG_FLUSH;
// Find out if we already have a window of this name
// If so, then close it before we open a new one of the same name
// This basically allows re-configuration of a window
DisplayPtr cur_disp = findDisplayNamed(element->getName());
if (cur_disp != NULL) // We have an old display
{
vprDEBUG(vrjDBG_DISP_MGR,vprDBG_CONFIG_LVL) << "Removing old window: " << cur_disp->getName().c_str() << vprDEBUG_FLUSH;
closeDisplay(cur_disp,true); // Close the display and notify the draw manager to close the window
}
// --- Add a display (of the correct type) ---- //
if (element->getID() == std::string("display_window")) // Display window
{
DisplayPtr newDisp = Display::create(); // Create the display
newDisp->config(element);
addDisplay(newDisp,true); // Add it
vprDEBUG(vrjDBG_DISP_MGR,vprDBG_STATE_LVL) << "Adding display: " << newDisp->getName().c_str() << std::endl << vprDEBUG_FLUSH;
vprDEBUG(vrjDBG_DISP_MGR,vprDBG_STATE_LVL) << "Display: " << newDisp << std::endl << vprDEBUG_FLUSH;
}
vprDEBUG_END(vrjDBG_DISP_MGR,vprDBG_STATE_LVL) << "------- DisplayManager::configAddDisplay Done. --------\n" << vprDEBUG_FLUSH;
return true;
}
示例5: configure
void SignalGrabStrategy::configure(jccl::ConfigElementPtr elt)
{
vprASSERT(elt->getID() == getElementType());
const unsigned int req_cfg_version(1);
// Check for correct version of plugin configuration.
if ( elt->getVersion() < req_cfg_version )
{
std::stringstream msg;
msg << "Configuration of SignalGrabStrategy failed. Required config "
<< "element version is " << req_cfg_version << ", but element '"
<< elt->getName() << "' is version " << elt->getVersion();
throw PluginException(msg.str(), VRKIT_LOCATION);
}
const std::string choose_btn_prop("choose_button_nums");
const std::string grab_btn_prop("grab_button_nums");
const std::string release_btn_prop("release_button_nums");
mChooseBtn.configure(elt->getProperty<std::string>(choose_btn_prop),
mWandInterface);
mGrabBtn.configure(elt->getProperty<std::string>(grab_btn_prop),
mWandInterface);
mReleaseBtn.configure(elt->getProperty<std::string>(release_btn_prop),
mWandInterface);
// Determine if grab and release are activated using the same button
// sequence. This indicates that the grab/release operation is a toggle
// and must be handled differently than if the two operations are
// separate.
mGrabReleaseToggle = mGrabBtn == mReleaseBtn;
}
示例6: configAdd
/** Add the pending elm to the configuration.
* @pre configCanHandle (elm) == true.
* @return true iff elm was successfully added to configuration.
*/
bool RIMPlugin::configAdd(jccl::ConfigElementPtr elm)
{
vprASSERT(ClusterManager::instance()->recognizeRemoteDeviceConfig(elm));
vprASSERT(ClusterManager::instance()->isClusterActive());
std::string device_name = elm->getName();
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_STATUS_LVL)
<< clrOutBOLD(clrCYAN,"[RIMPlugin] ")
<< "Adding device: " << device_name
<< std::endl << vprDEBUG_FLUSH;
vprASSERT(cluster::ClusterManager::instance()->isClusterActive() && "RIM called in non-cluster mode.");
bool master = cluster::ClusterManager::instance()->isMaster();
bool result(false);
// If we are the master, configure the device and tell all slaves to prepare
// virtual devices.
if (master)
{
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_STATUS_LVL)
<< clrOutBOLD(clrMAGENTA, "[RemoteInputManager]")
<< "Configuring device on master node: " << device_name
<< std::endl << vprDEBUG_FLUSH;
gadget::InputManager::instance()->configureDevice(elm);
gadget::InputPtr input_device = gadget::InputManager::instance()->getDevice(device_name);
if ( input_device != NULL )
{
result = addDeviceServer(device_name, input_device);
DeviceServerPtr device_server = getDeviceServer(device_name);
vprASSERT(NULL != device_server.get() && "Must have device server.");
const vpr::Uint16 dev_type_id(input_device->getTypeId());
const vpr::GUID& temp_guid(device_server->getId());
DeviceAckPtr device_ack = DeviceAck::create(mHandlerGUID, temp_guid,
device_name, dev_type_id,
true);
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_STATUS_LVL)
<< clrOutBOLD(clrMAGENTA, "[RemoteInputManager]")
<< "Sending device ack [" << device_name << "] to all cluster nodes."
<< std::endl << vprDEBUG_FLUSH;
cluster::ClusterManager::instance()->getNetwork()->sendToAll(device_ack);
}
}
else
{
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_STATUS_LVL)
<< clrOutBOLD(clrMAGENTA, "[RemoteInputManager]")
<< "Configuring device on slave node: " << device_name
<< std::endl << vprDEBUG_FLUSH;
result = true;
}
return result;
}
示例7: configAdd
/** Add the pending element to the configuration.
* @pre configCanHandle (element) == true.
* @return true iff element was successfully added to configuration.
*/
bool RIMPlugin::configAdd(jccl::ConfigElementPtr element)
{
// XXX: We may still use this to handle the configuration
// of clustered RIM connections.
if ( ClusterManager::instance()->recognizeRemoteDeviceConfig(element) )
{
std::string device_host = element->getProperty<std::string>("device_host");
gadget::Node* node = ClusterManager::instance()->getNetwork()->getNodeByName(device_host);
std::string device_name = element->getName();
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_LVL)
<< clrOutBOLD(clrCYAN,"[RIMPlugin] ")
<< "Adding the Remote Device: " << device_name
<< " to the RIM Pending List"
<< std::endl << vprDEBUG_FLUSH;
if ( node == NULL )
{
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_STATUS_LVL)
<< clrOutBOLD(clrCYAN,"[RIMPlugin] ")
<< clrOutBOLD(clrRED, "WARNING:") << " Cluster node: " << device_host
<< " does not exist, there must be an error in the ClusterDepChecker."
<< std::endl << vprDEBUG_FLUSH;
return false;
}
else if ( !node->isConnected() )
{
vprDEBUG(gadgetDBG_RIM,vprDBG_CONFIG_LVL)
<< clrOutBOLD(clrCYAN,"[RIMPlugin] ")
<< clrOutBOLD(clrRED, "WARNING:") << " Cluster node: " << device_host
<< " is not connected, there must be an error in the ClusterDepChecker."
<< std::endl << vprDEBUG_FLUSH;
return false;
}
DeviceRequest* device_req = new DeviceRequest(getHandlerGUID(), device_name);
mRIM.addPendingDeviceRequest(device_req, node);
setActive(true);
return(true);
}
else
{
vprDEBUG(gadgetDBG_RIM,vprDBG_CRITICAL_LVL)
<< clrOutBOLD(clrCYAN,"[RIMPlugin] ")
<< clrOutBOLD(clrRED, "ERROR: ")
<< "recognizeRemoteDeviceConfig is broken."
<< std::endl << vprDEBUG_FLUSH;
return(false);
}
}
示例8: configureProxyAlias
/**
* Configures proxy aliases in config database.
* @pre none
* @post (alias not already in list) ==> Alias is added to proxyAlias list<br>
* (alias was already is list) ==> Alias is set to point to the new proxy instead
*/
bool InputManager::configureProxyAlias(jccl::ConfigElementPtr element)
{
vpr::DebugOutputGuard dbg_output(gadgetDBG_INPUT_MGR, vprDBG_STATE_LVL,
std::string("gadget::InputManager: Configuring proxy alias\n"),
std::string("...done configuring alias.\n"));
vprASSERT(element->getID() == "alias");
std::string alias_name, proxy_name; // The string of the alias, name of proxy to pt to
alias_name = element->getName();
proxy_name = element->getProperty<std::string>("proxy");
addProxyAlias(alias_name, proxy_name);
return true;
}
示例9: setDisplaySystemElement
void DisplayManager::setDisplaySystemElement(jccl::ConfigElementPtr elt)
{
if ( elt->getVersion() < 3 )
{
vprDEBUG(vrjDBG_DISP_MGR, vprDBG_WARNING_LVL)
<< clrOutBOLD(clrYELLOW, "WARNING") << ": Display system element '"
<< elt->getName() << "'" << std::endl;
vprDEBUG_NEXTnl(vrjDBG_DISP_MGR, vprDBG_WARNING_LVL)
<< " is out of date.\n";
vprDEBUG_NEXTnl(vrjDBG_DRAW_MGR, vprDBG_WARNING_LVL)
<< " Expected version 3 but found version "
<< elt->getVersion() << ". Pipe\n";
vprDEBUG_NEXTnl(vrjDBG_DRAW_MGR, vprDBG_WARNING_LVL)
<< " configurations will not work.\n" << vprDEBUG_FLUSH;
}
mDisplaySystemElement = elt;
}
示例10: configRemove
bool AbstractNetworkManager::configRemove(jccl::ConfigElementPtr element)
{
if (recognizeClusterMachineConfig( element ))
{
vprDEBUG( gadgetDBG_NET_MGR, vprDBG_CONFIG_LVL )
<< clrOutBOLD( clrMAGENTA, "[AbstractNetworkManager]" )
<< " Removing the Node: " << element->getName()
<< " from the Cluster Network\n" << vprDEBUG_FLUSH;
return true;
}
else
{
vprDEBUG( gadgetDBG_NET_MGR, vprDBG_CONFIG_LVL )
<< clrOutBOLD( clrMAGENTA, "[AbstractNetworkManager]" )
<< " ERROR, Something is seriously wrong, we should never get here\n"
<< vprDEBUG_FLUSH;
return false;
}
}
示例11: configRemoveDisplay
/**
* Removes the element from the current configuration.
*
* @pre configCanHandle(element) == true
* @return success
*/
bool DisplayManager::configRemoveDisplay(jccl::ConfigElementPtr element)
{
vprASSERT(configCanHandle(element)); // We must be able to handle it first of all
vprDEBUG_BEGIN(vrjDBG_DISP_MGR,vprDBG_STATE_LVL) << "------- DisplayManager::configRemoveDisplay -------\n" << vprDEBUG_FLUSH;
bool success_flag(false);
if (element->getID() == std::string("display_window")) // It is a display
{
DisplayPtr remove_disp = findDisplayNamed(element->getName());
if (remove_disp != NULL)
{
closeDisplay(remove_disp, true); // Remove it
success_flag = true;
}
}
vprDEBUG_END(vrjDBG_DISP_MGR,vprDBG_STATE_LVL) << "------- DisplayManager::configRemoveDisplay done. --------\n" << vprDEBUG_FLUSH;
return success_flag;
}
示例12: configAdd
bool CorbaPerfPlugin::configAdd(jccl::ConfigElementPtr element)
{
const unsigned int min_def_version(2);
if ( element->getVersion() < min_def_version )
{
vprDEBUG(jcclDBG_PLUGIN, vprDBG_WARNING_LVL)
<< clrOutBOLD(clrYELLOW, "WARNING") << ": Element named '"
<< element->getName() << "'" << std::endl;
vprDEBUG_NEXTnl(jcclDBG_PLUGIN, vprDBG_WARNING_LVL)
<< "is version " << element->getVersion()
<< ", but we expect at least version " << min_def_version
<< ".\n";
vprDEBUG_NEXTnl(jcclDBG_PLUGIN, vprDBG_WARNING_LVL)
<< "Default values will be used for some settings.\n"
<< vprDEBUG_FLUSH;
}
// If the ORB is already running, we need to shut it down first. One big
// reason for doing this is to release the resources (memory and so on)
// allocated previously.
if ( mInterface != NULL || mCorbaManager != NULL )
{
vprDEBUG(vrjDBG_PLUGIN, vprDBG_STATE_LVL)
<< "[CorbaPerfPlugin::configAdd()] Attempting to shut down "
<< "existing CORBA instance.\n" << vprDEBUG_FLUSH;
// stopCorba() will call disable() if we are still in the enabled state.
stopCorba();
}
// We'll ignore the return value for now. startCorba() prints out enough
// warning information on its own if something goes wrong.
this->startCorba(element->getProperty<std::string>("endpoint_addr"),
element->getProperty<vpr::Uint16>("endpoint_port"));
return true;
}
示例13: config
bool DirectXJoystick::config(jccl::ConfigElementPtr e)
{
if(! (Input::config(e) && Digital::config(e) && Analog::config(e)))
{
return false;
}
mJsLabel = e->getName();
unsigned int num_axis_buttons = e->getNum("axis_buttons");
for ( unsigned int i = 0; i < num_axis_buttons; ++i )
{
unsigned idx = e->getProperty<int>("axis_buttons", i);
mAxisButtonIndices.push_back(idx);
}
// Override whatever the user configured with the minimum and maximum values
// used by the standalone Direct Input device. User configuration input is
// useless in this case.
setMin((float) DirectXJoystickStandalone::getAxisMin());
setMax((float) DirectXJoystickStandalone::getAxisMax());
return true;
}
示例14: configure
void WandInterface::configure(jccl::ConfigElementPtr elt)
{
vprASSERT(elt->getID() == getElementType());
const unsigned int req_cfg_version(1);
if ( elt->getVersion() < req_cfg_version )
{
std::ostringstream msg;
msg << "Configuration of WandInterface failed. Required config "
<< "element version is " << req_cfg_version << ", but element '"
<< elt->getName() << "' is version " << elt->getVersion();
throw Exception(msg.str(), VRKIT_LOCATION);
}
const std::string pos_name_prop("position_name");
const std::string digital_name_prop("digital_name");
const std::string analog_name_prop("analog_name");
const std::string wand_name = elt->getProperty<std::string>(pos_name_prop);
if ( wand_name.empty() )
{
throw Exception("Empty wand name is not allowed", VRKIT_LOCATION);
}
mWandInterface.init(wand_name);
const unsigned int num_digitals(elt->getNum(digital_name_prop));
if ( num_digitals > 0 )
{
mButtonInterfaces.resize(num_digitals);
for ( unsigned int d = 0; d < num_digitals; ++d )
{
const std::string digital_name =
elt->getProperty<std::string>(digital_name_prop, d);
if ( digital_name.empty() )
{
mButtonInterfaces.clear();
std::ostringstream msg_stream;
msg_stream << "Empty digital name (index " << d
<< ") is not allowed";
throw Exception(msg_stream.str(), VRKIT_LOCATION);
}
mButtonInterfaces[d].init(digital_name);
}
}
const unsigned int num_analogs(elt->getNum(analog_name_prop));
if ( num_analogs > 0 )
{
mAnalogInterfaces.resize(num_analogs);
for ( unsigned int a = 0; a < num_analogs; ++a )
{
const std::string analog_name =
elt->getProperty<std::string>(analog_name_prop, a);
if ( analog_name.empty() )
{
mAnalogInterfaces.clear();
std::ostringstream msg_stream;
msg_stream << "Empty analog name (index " << a
<< ") is not allowed";
throw Exception(msg_stream.str(), VRKIT_LOCATION);
}
mAnalogInterfaces[a].init(analog_name);
}
}
}
示例15: init
GridPtr Grid::init(jccl::ConfigElementPtr cfgElt)
{
vprASSERT(cfgElt->getID() == std::string("grid"));
const unsigned int req_cfg_version(1);
// Check for correct version of plugin configuration.
if ( cfgElt->getVersion() < req_cfg_version )
{
std::ostringstream msg;
msg << "Failed to configure grid '" << cfgElt->getName()
<< "'. Required config element version is " << req_cfg_version
<< ", but this element is version " << cfgElt->getVersion();
throw PluginException(msg.str(), VRKIT_LOCATION);
}
mName = cfgElt->getName();
const std::string size_prop("size");
const std::string granularity_prop("granularity");
const std::string color_prop("color");
const std::string corner_prop("corner");
const std::string corner_pos_prop("corner_position");
const std::string orient_prop("orientation");
const OSG::Real32 width = cfgElt->getProperty<OSG::Real32>(size_prop, 0);
const OSG::Real32 height = cfgElt->getProperty<OSG::Real32>(size_prop, 1);
if ( width <= 0.0f || height <= 0.0f )
{
std::ostringstream msg_stream;
msg_stream << "Invalid grid dimensions " << width << "x" << height;
throw PluginException(msg_stream.str(), VRKIT_LOCATION);
}
const float granularity = cfgElt->getProperty<float>(granularity_prop);
if ( granularity <= 0.0f )
{
std::ostringstream msg_stream;
msg_stream << "Invalid grid cell granularity " << granularity;
throw PluginException(msg_stream.str(), VRKIT_LOCATION);
}
OSG::Real32 red = cfgElt->getProperty<OSG::Real32>(color_prop, 0);
OSG::Real32 green = cfgElt->getProperty<OSG::Real32>(color_prop, 1);
OSG::Real32 blue = cfgElt->getProperty<OSG::Real32>(color_prop, 2);
if ( red < 0.0f || red > 1.0f )
{
std::cerr << "WARNING: Invalid red color value " << red
<< " in config element '" << cfgElt->getName() << "'"
<< std::endl;
red = 0.0f;
}
if ( green < 0.0f || green > 1.0f )
{
std::cerr << "WARNING: Invalid green color value " << green
<< " in config element '" << cfgElt->getName() << "'"
<< std::endl;
green = 0.0f;
}
if ( blue < 0.0f || blue > 1.0f )
{
std::cerr << "WARNING: Invalid blue color value " << blue
<< " in config element '" << cfgElt->getName() << "'"
<< std::endl;
blue = 0.0f;
}
unsigned int corner_val = cfgElt->getProperty<unsigned int>(corner_prop);
Corner corner;
if ( 0 <= corner_val && corner_val <= 3 )
{
corner = static_cast<Corner>(corner_val);
}
else
{
std::ostringstream msg_stream;
msg_stream << "Invalid corner value " << corner_val
<< "; must be one of 0, 1, 2, or 3";
throw PluginException(msg_stream.str(), VRKIT_LOCATION);
}
const OSG::Vec3f corner_pos(
cfgElt->getProperty<float>(corner_pos_prop, 0),
cfgElt->getProperty<float>(corner_pos_prop, 1),
cfgElt->getProperty<float>(corner_pos_prop, 2)
);
OSG::Quaternion rot;
rot.setValue(
gmtl::Math::deg2Rad(cfgElt->getProperty<float>(orient_prop, 0)),
gmtl::Math::deg2Rad(cfgElt->getProperty<float>(orient_prop, 1)),
gmtl::Math::deg2Rad(cfgElt->getProperty<float>(orient_prop, 2))
);
initGeometry(width, height, granularity, corner, corner_pos, rot,
//.........这里部分代码省略.........