The default settings for the standard WPS objects are saved in the file \OS2\INI.RC . (see also GETOBJ.CMD; see the routine ShowObjectDate in the section General routines for the samples for an example on how to get the settings of an object).
/* sample routine to get the default settings of an object */ /* This routine reads the file INI.RC to get the default settings */ /* of the object. */ /* Note that object IDs are case sensitive! */ /* path & name of the RC file for MAKEINI */ INIRCFile = 'C:\OS2\INI.RC' do forever call CharOut, 'Enter the object ID (<RETURN> to exit): ' objectID = strip( lineIn() ) if objectID = '' then leave if left( ObjectID,1 ) <> '<' then objectID = '<' || objectID || '>' say 'Detecting the data of the object "' || ObjectID || '" ...' rc = getObjectData( ObjectID, 'objectData', iniRCFile ) if rc = 0 then do say 'title: "' || objectData.title || '"' say 'className: "' || objectData.className || '"' say 'location: "' || objectData.location || '"' say 'setup: "' || objectData.setup || '"' end /* if rc = 0 */ else do say 'Error ' || rc || ' detecing the object settings!' end end /* do forever */ exit /* ------------------------------------------------------------------ */ /* function: get the data of an object */ /* */ /* call: getObjectData objectID, resultStem, rcFile */ /* */ /* where: objectID - the id of the object */ /* resultStem - name of the stem for the result */ /* rcFile - name of the rc file with the object description */ /* The format of the rc file must be equal to the */ /* format of the file \OS2\INI.RC. */ /* */ /* returns: 0 - ok */ /* 1 - rc file not found */ /* 2 - object not found in the RC file */ /* 255 - invalid call */ /* */ /* output: "objectData".title = title */ /* .className = className */ /* .location = location */ /* .setup = setup string */ /* */ GetObjectData: parse arg god.__objectID, god.__resultStem, god.__thisRCFile . /* constants for the comment begin and end */ /* strings used in the RC files */ god.__CommentBegin = '/' || '*' god.__CommentEnd = '*' || '/' /* init the return code */ thisRC = 255 if god.__objectID <> '' & god.__objectData <> '' then do thisRC = 1 if stream( god.__thisRCFile, 'c', 'QUERY EXISTS' ) <> '' then do thisRC = 2 god.__searchString = 'OBJECTID=' || god.__objectID /* open the RC file in READ ONLY mode */ call stream god.__ThisRCFile, 'c', 'OPEN READ' /* search the object definition in the rc file */ do god.__curRCLineNo = 1 while lines( god.__thisRCFile ) <> 0 god.__curRCFileLIne = strip( lineIn( god.__thisRCFile ) ) /* discard comments */ do until god.__curComment = '' parse var god.__curRCFileLine , god.__part1 , (god.__CommentBegin) , god.__curComment , (god.__CommentEnd) , god.__part2 god.__curRCFileLine = god.__part1 || god.__part2 end /* do until commentFound = '' */ /* ignore empty lines */ if god.__curRCFileLine = '' then iterate if translate( word( god.__curRCFileLIne, 1 ) ) = '"PM_INSTALLOBJECT"' then do if pos( god.__searchString, god.__curRCFileLIne) <> 0 then do /* object description found */ parse var god.__curRCFileLine , '"' . '"' , '"' , god.__title . ';' , god.__className ';' , god.__location , '"' , '"' , god.__setup 'OBJECTID=' . , '"' parse var god.__location god.__location ';' . /* fill the result stem */ interpret god.__resultStem || '.title = ' || , '"' || strip( god.__title ) || '"' interpret god.__resultStem || '.className = ' || , '"' || strip( god.__className ) || '"' interpret god.__resultStem || '.location = ' || , '"' || strip( god.__location ) || '"' interpret god.__resultStem || '.setup = ' || , '"' || strip( god.__setup ) || '"' thisRC = 0 leave god.__curRCLineNo end /* if pos( ... */ end /* if word( */ end /* do god.__CurRCLineNo = 1 while ... */ end /* if stream( ... */ end /* if god.__ObjectID <> '' ... */ /* close the RC file */ call stream god.__ThisRCFile, 'c', 'CLOSE' /* delete local variables */ drop god. RETURN thisRC