Share Pastebin
Guest
Public paste!

RFID factory

By: a guest | Mar 22nd, 2010 | Syntax: C++ | Size: 0.93 KB | Hits: 167 | Expires: Never
Copy text to clipboard
  1. // RFID.h
  2. class RFIDFactory
  3. {
  4.         public:
  5.                 RFID* selectReader(void);
  6. };
  7.  
  8. // RFID.cpp
  9. RFID * RFIDFactory::selectReader()
  10. {
  11.         RFID* ph = new Phidget();
  12.         RFID* pc = new pcProxAPI();
  13.         RFID* Readers[] = {ph, pc};
  14.         RFID* ret = 0;
  15.         for (int x = 0; x < (sizeof(Readers) / sizeof(Readers[0])); x++)
  16.         {
  17.                 if (Readers[x]->initializeDevice() == 0)
  18.                 {
  19.                         if (Readers[x]->checkDevice() == 0)
  20.                         {
  21.                                 ret = Readers[x];
  22.                                 break;
  23.                         }
  24.                         else
  25.                         {
  26.                                 Readers[x]->dispose();
  27.                         }
  28.                 }
  29.         }
  30.         return (ret);
  31. }
  32. // in main
  33. RFIDFactory* myRFIDFactory;
  34. RFID* myRFID;
  35.  
  36. // when auth requested:
  37. myRFIDFactory = new RFIDFactory();
  38. myRFID = myRFIDFactory->selectReader();
  39.  
  40. if (myRFID == 0)
  41. {
  42.         MessageBox(hwnd,
  43.                                 "No reader detected!\nPlease check the connection.",
  44.                                 "No reader detected!",
  45.                                 MB_ICONWARNING);
  46. }
  47. else
  48. {
  49.         int ret = DialogBox(GetModuleHandle(NULL),
  50.                 MAKEINTRESOURCE(IDD_AUTH),
  51.                 hwnd,
  52.                 (DLGPROC)AuthDlgProc);
  53. }