All pastes #205693 Raw Edit

Something

public text v1 · immutable
#205693 ·published 2006-10-17 00:00 UTC
rendered paste body
#ifndef ObjConfig
#define ObjConfig FukabunConfig
#endif

objectdef FukabunConfig inherits ObjBase
{
	variable string etc = "${LavishScript.HomeDirectory}/Scripts/Fukabun/etc/"
	variable string configFile = "fukabun.xml"
	variable settingsetref setKernel
	
	method Load()
	{
		variable filepath fpEtc = ${etc}

		LavishSettings:AddSet[Fukabun]

		if ${fpEtc.FileExists[${configFile}]}
		{
			LavishSettings[Fukabun]:Import[${etc}${configFile}]
			setKernel:Set[${LavishSettings[Fukabun].FindSet[Kernel]}]
		}
		else
		{
			LavishSettings[Fukabun]:AddSet[Kernel]
		}
	}
	
	member Kernel(string Key, string Default)
	{
		return ${setKernel.FindSetting["${Key}","${Default}"]}
	}
	
	method Save()
	{
		LavishSettings[Fukabun]:Export[${etc}${configFile}]
	}
	
	method Initialize()
	{
		This:Load
		This:Debug["Fukabun config: initializing."]
	}

	method Shutdown()
	{
		This:Save
	}
}