00001
00013
00014
00015 #ifndef HwProbe_h
00016 #define HwProbe_h
00017
00018 #include <stdio.h>
00019 #include <sys/types.h>
00020
00021 #include <hd.h>
00022
00023 #include <scr/SCRAgent.h>
00024
00025 #include "Y2.h"
00026
00030 class HwProbe : public SCRAgent
00031 {
00032 public:
00036 HwProbe();
00037
00041 ~HwProbe ();
00042
00048 YCPValue Read(const YCPPath& path, const YCPValue& arg = YCPNull(), const YCPValue& optarg = YCPNull());
00049
00053 YCPBoolean Write(const YCPPath& path, const YCPValue& value, const YCPValue& arg = YCPNull());
00054
00058 YCPList Dir(const YCPPath& path);
00059
00060
00061
00062 private:
00067 hd_data_t *hd_base;
00068
00072 YCPValue hd2value (hd_t *hd);
00073
00077 YCPList hdlist2ycplist (hd_t *hd, hd_hw_item_t filteritem = (hd_hw_item_t)0);
00078
00082 YCPMap resource_type2map (const res_any_t *res, const char **name);
00083
00087 YCPMap driver_info2map (const driver_info_t *drv, const char **name);
00088
00093 YCPValue byItem (hd_hw_item_t item, bool re_probe);
00094
00099 YCPValue filterManual (hd_hw_item_t item);
00100
00105 YCPValue bootArch ();
00106
00111 YCPValue cpuArch ();
00112
00117 YCPValue bootDisk ();
00118
00123 YCPValue cdb_isdnData ();
00124
00129 YCPValue biosVideo ();
00130
00135 YCPValue vesaFramebuffer ();
00136
00141 YCPValue checkPath (const YCPPath& path, const YCPValue& arg, const YCPValue& writeval, int func);
00142
00146 int doScan (int force);
00147 };
00148
00149
00150
00151
00152 #define hd_data_first(hddata) (hddata->hd)
00153 #define hd_next(hd) (hd->next)
00154
00155 #endif // HwProbe_h