| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# IProperty.h

Go to the documentation of this file.

    00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IProperty.h,v 1.6 2006/06/06 16:16:23 hmd Exp $
    00002 #ifndef GAUDIKERNEL_IPROPERTY_H
    00003 #define GAUDIKERNEL_IPROPERTY_H
    00004
    00005 // Include Files
    00006 #include "GaudiKernel/IInterface.h"
    00007 #include <iostream>
    00008 #include <string>
    00009 #include <vector>
    00010
    00011 // Declaration of the interface ID ( interface id, major version, minor version)
    00012 static const InterfaceID IID_IProperty(20, 2 , 0);
    00013
    00023 class Property;
    00024
    00025 class IProperty : virtual public IInterface  {
    00026 public:
    00028   static const InterfaceID& interfaceID() { return IID_IProperty; }
    00029
    00031   virtual StatusCode setProperty( const Property& p // Reference to the input property
    00032                                 ) = 0;
    00034   virtual StatusCode setProperty( const std::string& s ) = 0;
    00036   virtual StatusCode setProperty( const std::string& n, const std::string& v ) = 0;
    00038   virtual StatusCode getProperty( Property* p       // Pointer to property to be set
    00039                                 ) const = 0;
    00041   virtual const Property& getProperty( const std::string& name  // Property name
    00042                                 ) const = 0;
    00044   virtual StatusCode getProperty( const std::string& n, std::string& v ) const = 0;
    00046   virtual const std::vector<Property*>& getProperties( ) const = 0;
    00047 };
    00048 #endif  // GAUDIKERNEL_IPROPERTY_H
    00049
    00050