Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Examples

Y2Function.h

Go to the documentation of this file.
00001 /*------------------------------------------------------------*- c++ -*-\
00002 |                                                                       |
00003 |                     __   __    ____ _____ ____                        |
00004 |                     \ \ / /_ _/ ___|_   _|___ \                       |
00005 |                      \ V / _` \___ \ | |   __) |                      |
00006 |                       | | (_| |___) || |  / __/                       |
00007 |                       |_|\__,_|____/ |_| |_____|                      |
00008 |                                                                       |
00009 |                               core system                             |
00010 |                                                         (C) SuSE GmbH |
00011 \-----------------------------------------------------------------------/
00012 
00013    File:        Y2Function.h
00014                 a generic interface for calling a function from a namespace
00015 
00016    Author:      Stanislav Visnovsky <visnov@suse.cz>
00017    Maintainer:  Stanislav Visnovsky <visnov@suse.cz>
00018 
00019 /-*/
00020 
00021 #ifndef Y2Function_h
00022 #define Y2Function_h
00023 
00024 #include <string>
00025 using std::string;
00026 
00027 #include "ycp/YCPValue.h"
00028 #include "ycp/Type.h"
00029 
00034 class Y2Function {
00035 
00036 public:
00041     virtual ~Y2Function () {};
00042 
00047     virtual bool attachParameter (const YCPValue& arg, const int position) = 0;
00048 
00055     virtual constTypePtr wantedParameterType () const = 0;
00056 
00061     virtual bool appendParameter (const YCPValue& arg) = 0;
00062 
00067     virtual bool finishParameters () = 0;
00068 
00072     virtual YCPValue evaluateCall () = 0;
00073 };
00074 
00075 #endif // Y2Function_h

Generated on Fri Nov 9 18:15:22 2007 for yast2-core by doxygen 1.3.6