00001 /* 00002 * YaST2: Core system 00003 * 00004 * Description: 00005 * YaST2 SCR: PPD implementation 00006 * 00007 * Authors: 00008 * Jiri Srain <jsrain@suse.cz> 00009 * 00010 * $Id: PPDfile.h 19894 2004-10-19 15:58:12Z jsrain $ 00011 */ 00012 00013 #ifndef _PPDfile_h 00014 #define _PPDfile_h 00015 00016 #include <sys/types.h> 00017 00018 #include <string> 00019 #include <list> 00020 #include <map> 00021 00022 #include <Y2.h> 00023 #include <ycp/YCPMap.h> 00024 #include <ycp/YCPString.h> 00025 #include <ycp/YCPBoolean.h> 00026 #include <ycp/YCPList.h> 00027 00028 using namespace std; 00029 00030 class PPDfile { 00031 public: 00032 00033 PPDfile(); 00034 ~PPDfile(); 00035 00036 YCPMap getOptionsGroups (YCPString filename); 00037 YCPMap getOptions (YCPString filename, YCPString section); 00038 YCPString openPpdFile (YCPString filename, YCPString tmpdir); 00039 YCPBoolean isPpd (const char* filename); 00040 YCPMap ppdInfo (const char *filename); 00041 YCPList ppdConstraints (YCPString filename); 00042 YCPList ppdFailedConstraints (YCPString filename, YCPMap options); 00043 00044 private: 00045 00046 protected: 00047 00048 }; 00049 00050 #endif /* _PPDfile_h */ 00051