Y2SystemFunction.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:        Y2SystemNamespace.h
00014                 a wrapper interface for accessing a LiMaL namespace 
00015                 (configurable via SCROpen/SCRClose)
00016 
00017    Author:      Stanislav Visnovsky <visnov@suse.cz>
00018    Maintainer:  Stanislav Visnovsky <visnov@suse.cz>
00019 
00020 /-*/
00021 
00022 #ifndef Y2SystemFunction_h
00023 #define Y2SystemFunction_h
00024 
00025 #include <y2/Y2Namespace.h>
00026 #include <y2/Y2Function.h>
00027 
00028 class Y2Component;
00029 
00030 class Y2SystemFunction : public Y2Function {
00031 
00032     Y2Function* m_local;
00033     Y2Function* m_remote;
00034     
00035     bool m_use_remote;
00036     
00037     constFunctionTypePtr m_type;
00038     
00039 public:
00040     Y2SystemFunction (Y2Function* local_call, constFunctionTypePtr type);
00041     
00042     virtual ~Y2SystemFunction ();
00043 
00048     virtual bool attachParameter (const YCPValue& arg, const int position);
00049 
00056     virtual constTypePtr wantedParameterType () const;
00057 
00062     virtual bool appendParameter (const YCPValue& arg);
00063 
00068     virtual bool finishParameters ();
00069 
00073     virtual YCPValue evaluateCall ();
00074 
00079     virtual bool reset ();
00080     
00081     void useRemote (Y2Function* remote_call);
00082     
00083     void useLocal ();
00084     
00085     string name () const;
00086     
00087     constFunctionTypePtr type () const;
00088 };
00089 
00090 #endif // Y2SystemFunction_h

Generated on Fri Jun 16 18:07:45 2006 for yast2-core by  doxygen 1.4.6