orca-robotics


INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

REPOSITORY
Interfaces
Components
Libraries
Utilities
Software Map

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard
Wiki
login/pass: orca/orca

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

propfileutils.h

00001 /*
00002  * Orca-Robotics Project: Components for robotics 
00003  *               http://orca-robotics.sf.net/
00004  * Copyright (c) 2004-2008 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 ORCAICE_PROPERTY_FILE_UTILITIES_H
00012 #define ORCAICE_PROPERTY_FILE_UTILITIES_H
00013 
00014 #include <string>
00015 #include <Ice/Ice.h>
00016 
00017 namespace orcaice
00018 {
00019 namespace detail
00020 {
00021 
00022 /*
00023  *  Platform-independent function to find Orca global configuration file.
00024  *
00025  *  1. Tries to load the file specified in Orca.GlobalConfig configuration parameter.
00026  *  2. If it is not defined (or empty), tries to load the file specified by the 
00027  *     environment variable @c ORCAICE_GLOBAL_CONFIG
00028  *  3. If it is not defined (or empty), tries to load the defaultt file from a 
00029  *     system-dependent location:
00030  *          > Linux: $HOME/.orcarc
00031  *          > Win32: C:\orca.ini
00032  *  Throws gbxutilacfr::Exception if none of the three options work out.
00033  */
00034 std::string getGlobalConfigFilename( const Ice::PropertiesPtr &props );
00035 
00036 /*
00037  *  Platform-independent function to find Orca component configuration file.
00038  *
00039  *  1. Returns the file name specified in Orca.Config configuration parameter.
00040  *          $ mycomponent --Orca.Config=local.cfg
00041  *              returns "local.cfg"
00042  *  2. Returns the file name specified in Ice.Config configuration parameter.
00043  *          $ mycomponent --Ice.Config=local.cfg
00044  *              returns "local.cfg"
00045  *  3. If Orca.Config is not defined (or empty), and there is only one command line argument
00046  *     it is assumed to be the path to the config file.
00047  *     ... unless it starts with a '-', i.e. looks like an option
00048  *          $ mycomponent local.cfg
00049  *              returns "local.cfg"
00050  *  4. File ./mycomponent.cfg when the component mycomponent is executed with 
00051  *     no command line arguments.
00052  *          $ mycomponent
00053  *          > mycomponent.exe
00054  *              return "mycomponent.cfg"
00055  *  
00056  *  Returns an empty string if everything else fails.
00057  */
00058 std::string getApplicationConfigFilename( const Ice::StringSeq & args );
00059 
00060 /*
00061  *  Platform-independent function to find Orca component configuration file.
00062  *
00063  *  1. Returns the file name specified in Orca.Config configuration parameter. E.g.
00064  *          IceBox.Service.MyService=MyService:create --Orca.Config=local.cfg
00065  *              returns "local.cfg"
00066  *
00067  *  2. Returns the file name specified in Ice.Config configuration parameter. E.g.
00068  *          IceBox.Service.MyService=MyService:create --Ice.Config=local.cfg
00069  *              returns "local.cfg"
00070  *
00071  *  Returns an empty string if the argument list is empty or
00072  *  the argument contains no suitable properties.
00073  */
00074 std::string getServiceConfigFilename( const Ice::StringSeq & args );
00075 
00076 } // namespace
00077 } // namespace
00078 
00079 #endif
 

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


Generated for Orca Robotics by  doxygen 1.4.5