INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

orcacm/utils.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2009 Alex Brooks, Alexei Makarenko, Tobias Kaupp
00005  *
00006  * This copy of Orca is licensed to you under the terms described in
00007  * the LICENSE file included in this distribution.
00008  *
00009  */
00010 
00011 #ifndef ORCACM_COMPONENT_MODEL_LOOKUP_UTILITIES_H
00012 #define ORCACM_COMPONENT_MODEL_LOOKUP_UTILITIES_H
00013 
00014 #include <orcaice/context.h>
00015 #include <orcacm/types.h>
00016 #include <gbxsickacfr/gbxiceutilacfr/thread.h>
00017 
00018 namespace orcacm
00019 {
00024 
00028 bool
00029 pingObject( const orcaice::Context& context, const std::string& objectId );
00030 
00035 bool 
00036 pingAdminObject( const orcaice::Context& context, const std::string& adminId, const std::string& facetName );
00037 
00049 // TODO: split this function into 2: get data, then ping objects.
00050 RegistryHomeData 
00051 getRegistryHomeData( const orcaice::Context& context, const std::string& locatorString );
00052 
00060 void 
00061 pingHomeObjects( RegistryHomeData& data, const orcaice::Context& context, 
00062                  gbxutilacfr::Stoppable* activity );
00063 
00064 /*
00065 OBSOLETE! Use getComponentHomeData()
00066 
00067 Connects to Home interface of the specified component and gets its
00068 deployment and interface information. If connection fails for some reason,
00069 @p isReachable field of ComponentData is set to FALSE.
00070 
00071 If you already have an instance of RegistryData, do this:
00072 @verbatim
00073 getComponentData( context, registryData.adapters[i].name )
00074 @endverbatim
00075  */
00076 ComponentData
00077 getComponentData( const orcaice::Context& context, const orca::FQComponentName& component );
00078 
00079 /*
00080 Convenience function, behaves like the one above.
00081  */
00082 ComponentData
00083 getComponentData( const orcaice::Context& context, const std::string& adapterId );
00084 
00095 ComponentData
00096 getComponentHomeData( const orcaice::Context& context, const Ice::ObjectPrx& home );
00097 
00098 
00103 ProvidesHeader
00104 getProvidesHeader( const orcaice::Context& context, const orca::FQInterfaceName& fqName );
00105 
00112 ProvidesHeader
00113 getAdminProvidesHeader( const Ice::ObjectPrx& homePrx, const orca::FQInterfaceName& fqName );
00114 
00115 
00120 RequiresHeader
00121 getRequiresHeader( const orcaice::Context& context, const orca::FQInterfaceName& fqName );
00122 
00123 RegistryHierarchicalData1
00124 home2hierarch1( const RegistryHomeData& registryHomeData );
00125 
00126 RegistryHierarchicalData2
00127 home2hierarch2( const RegistryHomeData& registryHomeData, const PlatformHeader& platform, 
00128                 bool tryToPing=true, int tracePing=0 );
00129 
00131 } // namespace
00132 
00133 #endif
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5