00001 // -*- c++ -*- 00002 00003 /* 00004 * Authors: Stanislav Visnovsky <visnov@suse.cz> 00005 * Maintainer: Arvin Schnell <arvin@suse.de> 00006 */ 00007 00008 00009 #ifndef StdioSCRAgent_h 00010 #define StdioSCRAgent_h 00011 00012 #include <y2/Y2Component.h> 00013 #include <scr/SCRAgent.h> 00014 00015 00020 class StdioSCRAgent : public SCRAgent 00021 { 00022 00023 public: 00024 00025 StdioSCRAgent (Y2Component* handler) : m_handler (handler) {} 00026 00027 ~StdioSCRAgent () {} 00028 00034 virtual YCPValue Read (const YCPPath &path, const YCPValue &arg = YCPNull (), const YCPValue &opt = YCPNull ()); 00035 00039 virtual YCPBoolean Write (const YCPPath &path, const YCPValue &value, 00040 const YCPValue &arg = YCPNull ()); 00041 00045 virtual YCPList Dir (const YCPPath &path); 00046 00050 virtual YCPValue Execute (const YCPPath &path, const YCPValue &value = 00051 YCPNull (), const YCPValue &arg = YCPNull ()); 00052 00056 virtual YCPMap Error (const YCPPath &path); 00057 00061 virtual YCPBoolean RegisterAgent (const YCPPath& path, const YCPValue& value); 00062 00066 virtual YCPBoolean UnregisterAgent (const YCPPath& path); 00067 00072 YCPValue otherCommand (const YCPTerm &term); 00073 00074 private: 00075 Y2Component* m_handler; 00076 }; 00077 00078 00079 #endif // StdioSCRAgent_h