// Point to one beyond the end of the list void nullIt() { curIndex = getNumObjs(); }
//______________________________________________________________________________ bool scopeConfigReader::readConfig( scopeConfigReader & obj, const std::string fn, aKeyValMemFn f1, aKeyValMemFn f2, aKeyValMemFn f3 ) { debugMessage( "\n", "**** Attempting to Read ", fn, " ****" ); std::string line, trimmedLine; bool success = false; std::ifstream inputFile; inputFile.open( fn.c_str(), std::ios::in ); if( inputFile ) { bool readingData = false; bool readingObjs = false; bool readingCommandPVs = false; bool readingMonitorPVs = false; debugMessage( "File Opened from ", fn ); while( std::getline( inputFile, line ) ) /// Go through, reading file line by line { trimmedLine = trimAllWhiteSpace( trimToDelimiter( line, UTL::END_OF_LINE ) ); if( trimmedLine.size() > 0 ) { if( stringIsSubString( line, UTL::END_OF_DATA ) ) { debugMessage( "Found END_OF_DATA" ); readingData = false; readingObjs = false; readingCommandPVs = false; readingMonitorPVs = false; break; } if( readingData ) { if( stringIsSubString( trimmedLine, UTL::VERSION ) ) getVersion( trimmedLine ); else if( stringIsSubString( trimmedLine, UTL::NUMBER_OF_OBJECTS ) ) getNumObjs( trimmedLine ); else if( stringIsSubString( trimmedLine, UTL::NUMBER_OF_ILOCKS ) ) getNumIlocks( trimmedLine ); else { switch( configVersion ) { case 1: if( trimmedLine.find_first_of( UTL::EQUALS_SIGN ) != std::string::npos ) { std::vector<std::string> keyVal = getKeyVal( trimmedLine ); if( readingObjs ) { CALL_MEMBER_FN(obj, f1)( keyVal ) ; } else if ( readingCommandPVs ) { CALL_MEMBER_FN(obj, f2)( keyVal ) ; } else if ( readingMonitorPVs ) { CALL_MEMBER_FN(obj, f3)( keyVal ) ; } } break; default: message( "!!!!!WARNING DID NOT FIND CONFIG FILE VERSION NUMBER!!!!!!" ); } } } if( stringIsSubString( line, UTL::START_OF_DATA ) ) { readingData = true; debugMessage( "Found START_OF_DATA" ); } if( stringIsSubString( line, UTL::PV_COMMANDS_START ) ) { readingCommandPVs = true; readingObjs = false; readingMonitorPVs = false; debugMessage( "Found PV_COMMANDS_START" ); } if( stringIsSubString( line, UTL::PV_MONITORS_START ) ) { readingCommandPVs = false; readingObjs = false; readingMonitorPVs = true; debugMessage( "Found PV_MONITORS_START" ); } if( stringIsSubString( line, UTL::OBJECTS_START ) ) { readingObjs = true; readingCommandPVs = false; readingMonitorPVs = false; debugMessage( "Found OBJECTS_START" ); } } } inputFile.close( ); debugMessage( "File Closed" ); success = true; } else{ message( "!!!! Error Can't Open Shutter Config File after searching for: ", fn, " !!!!" ); } return success; }
// Return the # of objects currently in the list uSHORT size() { return (getNumObjs()); }