override.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // -*- mode: cpp; mode: fold -*-
  2. // Description /*{{{*/
  3. // $Id: override.h,v 1.4 2001/06/26 02:50:27 jgg Exp $
  4. /* ######################################################################
  5. Override
  6. Store the override file.
  7. ##################################################################### */
  8. /*}}}*/
  9. #ifndef OVERRIDE_H
  10. #define OVERRIDE_H
  11. #ifdef __GNUG__
  12. #pragma interface "override.h"
  13. #endif
  14. #include <map>
  15. #include <string>
  16. using std::string;
  17. using std::map;
  18. class Override
  19. {
  20. public:
  21. struct Item
  22. {
  23. string Priority;
  24. string OldMaint;
  25. string NewMaint;
  26. map<string,string> FieldOverride;
  27. string SwapMaint(string Orig,bool &Failed);
  28. };
  29. map<string,Item> Mapping;
  30. inline Item *GetItem(string Package)
  31. {
  32. map<string,Item>::iterator I = Mapping.find(Package);
  33. if (I == Mapping.end())
  34. return 0;
  35. return &I->second;
  36. };
  37. bool ReadOverride(string File,bool Source = false);
  38. bool ReadExtraOverride(string File,bool Source = false);
  39. };
  40. #endif