Generic hardware access library
|
00001 #include "PersistentCommandSequencer.hh" 00002 #include "PCIAddressTableASCIIReader.hh" 00003 #include "PCIAddressTable.hh" 00004 #include "HardwareAccessException.hh" 00005 00006 #define CONFIGURATIONFILE "CommandConfiguration.dat" 00007 #define PCITESTADDRESSTABLE "PCITestAddressTable.dat" 00008 00009 #include <iostream> 00010 00011 int main() { 00012 bool loop = true; 00013 uint32_t ic; 00014 int option; 00015 std::string name; 00016 std::vector<std::string> names; 00017 00018 HAL::PCIAddressTableASCIIReader addressTableReader( PCITESTADDRESSTABLE ); 00019 HAL::PCIAddressTable addressTable( "Test address table", addressTableReader ); 00020 HAL::PersistentCommandSequencer test( CONFIGURATIONFILE, addressTable ); 00021 00022 try { 00023 while ( loop ) { 00024 std::cout << "1) register sequence" << std::endl; 00025 std::cout << "2) delete sequence" << std::endl; 00026 std::cout << "3) delete all sequences"<< std::endl; 00027 std::cout << "4) list sequences" << std::endl; 00028 std::cout << "Enter option : "; 00029 std::cin >> option; 00030 00031 switch (option) { 00032 case 0: 00033 loop = false; 00034 break; 00035 case 1: 00036 std::cout << "Enter sequence name : "; 00037 std::cin >> name; 00038 test.registerSequence( name ); 00039 break; 00040 case 2: 00041 std::cout << "Enter sequence name : "; 00042 std::cin >> name; 00043 test.deleteSequence( name ); 00044 break; 00045 case 3: 00046 std::cout << "Deleting all sequences" << std::endl; 00047 test.deleteSequences(); 00048 break; 00049 case 4: 00050 names = test.getNameVector(); 00051 for ( ic=0; ic<names.size(); ic++) { 00052 std::cout << names[ic] << std::endl; 00053 } 00054 break; 00055 } 00056 } 00057 } catch ( HAL::HardwareAccessException& e ) { 00058 std::cout << "exceptional exception : " << std::endl; 00059 std::cout << e.what() << std::endl; 00060 } catch ( std::exception& e ) { 00061 std::cout << "another exception" << std::endl; 00062 } 00063 std::cout << "This is the end, my friend..." << std::endl; 00064 return 0; 00065 }