Y2Component.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                      __   __    ____ _____ ____                      |
00004 |                      \ \ / /_ _/ ___|_   _|___ \                     |
00005 |                       \ V / _` \___ \ | |   __) |                    |
00006 |                        | | (_| |___) || |  / __/                     |
00007 |                        |_|\__,_|____/ |_| |_____|                    |
00008 |                                                                      |
00009 |                               core system                            |
00010 |                                                        (C) SuSE GmbH |
00011 \----------------------------------------------------------------------/
00012 
00013    File:       Y2Component.h
00014 
00015    Author:     Mathias Kettner <kettner@suse.de>
00016                Thomas Roelz <tom@suse.de>
00017                Stanislav Visnovsky <visnov@suse.cz>
00018    Maintainer: Stanislav Visnovsky <visnov@suse.cz>
00019 
00020 /-*/
00021 // -*- c++ -*-
00022 
00023 #ifndef Y2Component_h
00024 #define Y2Component_h
00025 
00026 #include <string>
00027 
00028 using std::string;
00029 
00030 class SCRAgent;
00031 class Y2Namespace;
00032 class YCPValue;
00033 class YCPList;
00034 
00075 class Y2Component
00076 {
00077 public:
00078 
00079     /* ================ common ================ */
00080 
00081     Y2Component();
00082 
00086     virtual ~Y2Component();
00087 
00091     virtual string name() const = 0;
00092 
00093     /* ================ server ================ */
00094 
00105     virtual YCPValue evaluate(const YCPValue& command);
00106 
00113     virtual void result(const YCPValue& result);
00114 
00126     virtual void setServerOptions(int argc, char **argv);
00127 
00145     virtual Y2Namespace* import(const char* name_space);
00146 
00147     /* ================ client ================ */
00148 
00166     virtual YCPValue doActualWork(const YCPList& arglist, Y2Component *user_interface);
00167     
00168     /* ================ misc ================ */
00169 
00176     virtual SCRAgent * getSCRAgent ();
00177     
00178     virtual bool remote () const;
00179 };
00180 
00181 #endif // Y2Component_h

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