Author: mzugec
Date: Wed Jan 30 10:53:24 2008
New Revision: 43994
URL: http://svn.opensuse.org/viewcvs/yast?rev=43994&view=rev
Log:
add library module
Added:
trunk/iscsi-client/src/IscsiClientLib.ycp
Added: trunk/iscsi-client/src/IscsiClientLib.ycp
URL: http://svn.opensuse.org/viewcvs/yast/trunk/iscsi-client/src/IscsiClientLib.ycp?rev=43994&view=auto
==============================================================================
--- trunk/iscsi-client/src/IscsiClientLib.ycp (added)
+++ trunk/iscsi-client/src/IscsiClientLib.ycp Wed Jan 30 10:53:24 2008
@@ -0,0 +1,466 @@
+{
+module "IscsiClientLib";
+textdomain "iscsi-client";
+
+import "Service";
+import "Popup";
+
+global list <string> sessions = [];
+global list <string> discovered = [];
+global list <string> targets = [];
+
+// status of rcopen-iscsi service
+boolean serviceStatus = false;
+// main configuration file (/etc/iscsi/iscsid.conf)
+map config = $[];
+// iBFT (iSCSI Boot Firmware Table)
+map ibft = nil;
+// InitiatorName file (/etc/iscsi/initiatorname.iscsi)
+global string initiatorname = "";
+// map used for autoYaST
+global map ay_settings=nil;
+
+/**
+ * get iBFT (available only on some special hardware)
+ */
+global map getiBFT(){
+ if (ibft==nil){
+ ibft=$[];
+ string from_bios = ((map)SCR::Execute(.target.bash_output, "fwparam_ibft -b"))["stdout"]:"";
+ foreach(string row, splitstring(from_bios, "\n"), {
+ list<string> key_val=splitstring(row, "=");
+ if (size(key_val[0]:"")>0) ibft[key_val[0]:""] = key_val[1]:"";
+ });
+ }
+ y2milestone("iBFT %1", ibft);
+ return ibft;
+}
+
+
+// get accessor for service status
+global boolean GetStartService() {
+ boolean status = Service::Enabled("open-iscsi");
+ y2milestone("Status of open-iscsi %1", status);
+ return status;
+}
+
+// set accessor for service status
+global void SetStartService(boolean status) {
+ y2milestone("Set status of open-iscsi to %1", status);
+ if (status == true) Service::Enable("open-iscsi");
+ else Service::Disable("open-iscsi");
+}
+
+
+// read configuration file
+global list