Gaudi Framework, version v22r4

Home   Generated: Fri Sep 2 2011

PropertyName.h

Go to the documentation of this file.
00001 // $Id:$
00002 #ifndef JOBOPTIONSVC_PROPERTY_NAME_H_
00003 #define JOBOPTIONSVC_PROPERTY_NAME_H_
00004 // ============================================================================
00005 // Includes:
00006 // ============================================================================
00007 // STD & STL:
00008 // ============================================================================
00009 #include <string>
00010 // ============================================================================
00011 // Boost:
00012 // ============================================================================
00013 #include <boost/scoped_ptr.hpp>
00014 #include <boost/shared_ptr.hpp>
00015 // ============================================================================
00016 #include "Position.h"
00017 // ============================================================================
00018 namespace Gaudi { namespace Parsers {
00019 // ============================================================================
00020 class Position;
00021 // ============================================================================
00022 class PropertyName {
00023  public:
00024 // ----------------------------------------------------------------------------
00025   typedef boost::shared_ptr<PropertyName> SharedPtr;
00026   typedef boost::shared_ptr<const PropertyName> ConstSharedPtr;
00027   typedef boost::scoped_ptr<PropertyName> ScopedPtr;
00028   typedef boost::scoped_ptr<const PropertyName> ConstScopedPtr;
00029 // ----------------------------------------------------------------------------
00030   explicit PropertyName(const std::string& property): client_(""),
00031       property_(property) {}
00032   PropertyName(const std::string& property, const Position& pos):
00033        client_(""), property_(property), position_(pos) {}
00034   PropertyName(const std::string& client, const std::string& property):
00035        client_(client), property_(property){}
00036   PropertyName(const std::string& client, const std::string& property,
00037            const Position& pos):
00038                client_(client), property_(property), position_(pos) {}
00039   const std::string& client() const { return client_;}
00040   const std::string& property() const { return property_;}
00041   const Position& position() const { return position_;}
00042   std::string FullName() const;
00043   std::string ToString() const;
00044   bool HasClient() const { return client_.length() > 0;}
00045   bool HasPosition() const { return position_.Exists();}
00046  private:
00047   std::string client_;
00048   std::string property_;
00049   Position position_;
00050 };
00051 // ============================================================================
00052 }  /* Gaudi */ }  /* Parsers */
00053 // ============================================================================
00054 #endif  // JOBOPTIONSVC_PROPERTY_NAME_H_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Fri Sep 2 2011 16:24:58 for Gaudi Framework, version v22r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004