code: 9ferno

ref: c04f70e2bb4a02655bb8a6247a8f07f75ff431bd
dir: /module/cfgfile.m/

View raw version
# simple adt that operates on whitespace separated config files
# such as /services/webget/config
CfgFile: module
	PATH: con	"/dis/lib/cfgfile.dis";
	ConfigFile: adt
		getcfg:	fn(me: self ref ConfigFile,field:string):list of string;
		setcfg:	fn(me: self ref ConfigFile,field:string,val:string);
		delete:	fn(me: self ref ConfigFile,field:string);
		flush:	fn(me: self ref ConfigFile): string;

		 # ----- private ------
		lines:	list of string;
		file:	string;
		readonly:	int;

	init:	fn(file:string):ref ConfigFile;
	verify:	fn(defaultpath: string, path: string) :ref Sys->FD;