OEInterface¶
class OEInterface
This class represents OEInterface.
Constructors¶
OEInterface()
OEInterface(const OEInterface &)
Default and copy constructors.
OEInterface(const unsigned char *dataptr)
OEInterface(const char *dataptr)
Constructs an OEInterface and configures it
with the interface definition passed by dataptr. This is
equivalent to the following code:
itf = oechem.OEInterface()
if not oechem.OEConfigure(itf, InterfaceData):
oechem.OEThrow.Fatal("Problem configuring OEInterface!")
Note
It is possible to configure an OEInterface
from multiple interface definitions. Just call
OEConfigure once per interface definition
on the same OEInterface object.
OEInterface(const unsigned char *dataptr, int argc, char **argv)
OEInterface(const char *dataptr, int argc, char **argv)
Constructs an OEInterface and configures it
with the interface definition passed by dataptr. Then parses
the command line given by argv. This is
equivalent to the following code:
itf = oechem.OEInterface()
if not oechem.OEConfigure(itf, InterfaceData):
oechem.OEThrow.Fatal("Problem configuring OEInterface!")
if not oechem.OEParseCommandLine(itf, sys.argv):
oechem.OEThrow.Fatal("Unable to parse command line")
Warning
These convenience constructors may force the program to exit and thus may not appropriate when writing a library that should instead return errors.
operator=¶
OEInterface &operator=(const OEInterface &)
AddDetail¶
bool AddDetail(const std::string &detail)
Adds a line to the detailed description of the
OEInterface. Returns true if the add was
successful and false otherwise. (The current implementation
never fails)
AddInterface¶
OEInterface *AddInterface()
Adds a child OEInterface and returns a pointer to the newly created object (which is owned by the current OEInterface object).
AddParameter¶
OEParameter *AddParameter(std::string classid)
Adds a parameter to the OEInterface
instance. The returned pointer points to the newly created
OEParameter object. This memory is owned by
the OEInterface object. If the add fails
NULL will be returned.
The implementation of the returned OEParameter pointer will always be a subclass of
template <TT> OETypedParameter
The specific type depends upon the value of classid as follows :
- string
TTisstd::stringparameter- double
TTisdoubleparameter- float
TTisfloatparameter- bool
TTisboolparameter- int
TTisintparameter- file
TTis oeisstream parameter- param_file
TTis oeisstream and additionally the parameter is specially recognized byOEParseCommandLineas a text file holding parameter settings.
Clear¶
bool Clear()
Returns the OEInterface object to the default constructed state of an OEInterface.
DeleteInterface¶
bool DeleteInterface(OEInterface &itf)
Deletes a child OEInterface object. ‘itf’ is
the child OEInterface to be deleted. The
method returns true if the deletion is successful and
false otherwise. ‘itf’ must be directly owned by the
OEInterface, not one of its child
OEInterfaces.
DeleteParameter¶
bool DeleteParameter(OEParameter ¶m)
Deletes a parameter (‘param’) owned by this
OEInterface object. The function returns
true if the delete succeeds and false otherwise. The
parameter must be owned by the OEInterface
object to be deleted (it will not delete parameters that belong
to child OEInterface objects of this
OEInterface).
Factory¶
OESimpleFactory<std::string, OEParameter> &Factory()
Returns the OEInterface class’s factory used to create new parameters.
Get¶
template<class TT>
TT Get(std::string name, unsigned int ilist=0) const
Returns the setting (either the value, or default if the value
is not set) of the parameter with the given name and
instance. The parameter must be of type TT, and must have
either have a value or default set. If the parameter cannot be
found (i.e., a call to OEInterface.Has with
the same TT and ‘name’ returns
false) a warning is issued and a default constructed TT is
returned.
GetDetail¶
OEIterBase<const std::string> *GetDetail() const
Returns the detailed description of the OEInterface object.
GetInterface¶
OEInterface *GetInterface(std::string name)
const OEInterface *GetInterface(std::string name) const
Returns a pointer to a child OEInterface with
a given ‘name’ owned by any child
OEInterface. The search is recursive
searching through all child’s child
OEInterfaces, etc. If no such
OEInterface exists NULL is returned.
GetInterfaces¶
OEIterBase<OEInterface> *GetInterfaces(bool recursive=false)
OEIterBase<const OEInterface> *GetInterfaces(bool recursive=false) const
Returns and iterator over all child
OEInterfaces of this object. If
recursive is true, the iterator will include all of the
children’s OEInterfaces
recursively in arbitrary order. If recursive is false only
the immediate child OEInterfaces
will be returned, and they will be sorted by
OEInterface.GetOrderPriority (lowest values
first) and then name.
GetList¶
template<class TT>
OEIterBase<const TT> *GetList(std::string name) const
See also
Example program catmols.py
GetOrderPriority¶
int GetOrderPriority() const
Returns the order priority of the OEInterface object.
GetParameter¶
OEParameter *GetParameter(std::string name)
const OEParameter *GetParameter(std::string name) const
Returns a pointer to a OEParameter with a
given ‘name’ owned by the OEInterface object
or one of its child OEInterfaces
(or child’s child
OEInterface, etc). If no such parameter
exists NULL is returned.
GetParameters¶
OEIterBase<OEParameter> *GetParameters(bool recursive=true)
OEIterBase<const OEParameter> *GetParameters(bool recursive=true) const
Returns an iterator over all
OEParameters of the
OEInterface object. If recursive is true
the search is recursive including parameters held by all child
OEInterfaces and their children
in arbitrary order. If recursive is false parameters held by
child OEInterfaces will not be
included and they will be sorted by the parameters order
priority (lowest values first), followed by name.
GetTypedParameter¶
template<class TT>
OETypedParameter<TT> *GetTypedParameter(std::string name)
template<class TT>
const OETypedParameter<TT> *GetTypedParameter(std::string name) const
Has¶
template<class TT>
bool Has(std::string name, unsigned int ilist=0) const
Returns true if all of the following are true:
A parameter with name name is contained by the OEInterface.
The parameter is of type
TTThe parameters value of default is set.
In all other cases the function returns false.
Parent¶
OEInterface *Parent()
const OEInterface *Parent() const
Returns a pointer to the parent OEInterface of
this object, or NULL if this OEInterface
object does not have a parent.
SetBrief¶
bool SetBrief(std::string brief)
Sets the brief description of the
OEInterface. Returns true if the brief
was successfully set and false otherwise. (The current
implementation never fails)
SetName¶
bool SetName(std::string name)
Sets the name of the OEInterface. Returns
true if the name was successfully set and false
otherwise. (The current implementation never fails).
SetOrderPriority¶
bool SetOrderPriority(int priority)
Sets the order priority of the
OEInterface. The order priority overrides the
default sorting by name that is used when calling the
GetInterfaces(false)
member function. Child OEInterfaces with
lower priority values will appear first.
This function returns true if the priority was successfully
set and false otherwise. (The current implementation never
fails).