IProperty.h
Go to the documentation of this file.
1 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiKernel/GaudiKernel/IProperty.h,v 1.6 2006/06/06 16:16:23 hmd Exp $
2 #ifndef GAUDIKERNEL_IPROPERTY_H
3 #define GAUDIKERNEL_IPROPERTY_H
4 
5 // Include Files
7 #include <iostream>
8 #include <string>
9 #include <vector>
10 
20 class Property;
21 
22 class GAUDI_API IProperty: virtual public IInterface {
23 public:
26 
28  virtual StatusCode setProperty( const Property& p // Reference to the input property
29  ) = 0;
31  virtual StatusCode setProperty( const std::string& s ) = 0;
33  virtual StatusCode setProperty( const std::string& n, const std::string& v ) = 0;
35  virtual StatusCode getProperty( Property* p // Pointer to property to be set
36  ) const = 0;
38  virtual const Property& getProperty( const std::string& name // Property name
39  ) const = 0;
41  virtual StatusCode getProperty( const std::string& n, std::string& v ) const = 0;
43  virtual const std::vector<Property*>& getProperties( ) const = 0;
44 
46  virtual bool hasProperty(const std::string& name) const = 0;
47 };
48 #endif // GAUDIKERNEL_IPROPERTY_H
49 
50 
GAUDI_API bool hasProperty(const IProperty *p, const std::string &name)
simple function which check the existence of the property with the given name.
Definition: Property.cpp:232
const char *PyHelper() getProperty(IInterface *p, char *name)
Definition: Bootstrap.cpp:297
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Definition of the basic interface.
Definition: IInterface.h:160
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
Definition: Bootstrap.cpp:290
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:43
string s
Definition: gaudirun.py:217
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:22
#define GAUDI_API
Definition: Kernel.h:108