Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #ifndef PHIDGETS_API_PHIDGET_H
00032 #define PHIDGETS_API_PHIDGET_H
00033
00034 #include <phidgets_c_api/phidget21.h>
00035
00036 #include <iostream>
00037 #include <algorithm>
00038 #include <string>
00039 #include <cstring>
00040 #include <stdio.h>
00041
00042 namespace phidgets {
00043
00044 class Phidget
00045 {
00046 public:
00047
00048 Phidget();
00049 ~Phidget();
00050
00053 int open(int serial_number);
00054
00056 int close();
00057
00060 int waitForAttachment(int timeout);
00061
00063 std::string getDeviceType();
00064
00066 std::string getDeviceName();
00067
00069 std::string getDeviceLabel();
00070
00072 std::string getLibraryVersion();
00073
00075 int getDeviceSerialNumber();
00076
00078 int getDeviceVersion();
00079
00082 static std::string getErrorDescription(int errorCode);
00083
00084 protected:
00085
00086 CPhidgetHandle handle_;
00087
00088 void init(CPhidgetHandle handle);
00089
00090 virtual void registerHandlers();
00091 virtual void attachHandler();
00092 virtual void detachHandler();
00093 virtual void errorHandler(int error);
00094
00095 private:
00096
00097 static int AttachHandler(CPhidgetHandle handle, void *userptr);
00098 static int DetachHandler(CPhidgetHandle handle, void *userptr);
00099 static int ErrorHandler (CPhidgetHandle handle, void *userptr, int ErrorCode, const char *unknown);
00100 };
00101
00102 }
00103
00104 #endif // PHIDGETS_API_PHIDGET_H
00105