00001 #ifndef __RFID_DRIVER_INTERFACE_H__ 00002 #define __RFID_DRIVER_INTERFACE_H__ 00003 00027 #include <iostream> 00028 #include "rfid_driver_data.h" 00029 00030 class RfidDriverInterface { 00031 public: 00035 RfidDriverInterface() 00036 { 00037 } 00038 00042 virtual ~RfidDriverInterface() 00043 { 00044 } 00045 00051 virtual int open_device(long num_device) = 0; 00052 00058 virtual int close_device() = 0; 00059 00065 virtual std::string get_uid_label() = 0; 00066 00072 virtual std::string* get_tags() = 0; 00073 00078 virtual std::string get_type_reader() = 0; 00079 00085 virtual int get_num_labels() = 0; 00086 00092 virtual void set_num_labels(int num_labels) = 0; 00093 00100 virtual void read_hf(unsigned char data[BLOCK_SIZE_HF], unsigned char uc_db_address) = 0; 00101 00109 virtual void write_hf(unsigned char data[BLOCK_SIZE_HF], unsigned char uc_db_address, std::string uid) = 0; 00110 00120 virtual int write_tag_epc(unsigned char* data, std::string epc, unsigned int mem_bank, unsigned int address, 00121 unsigned int num_blocks) = 0; 00122 00128 virtual int inventory() = 0; 00129 }; 00130 00131 #endif