00001 #ifndef _LINUX_AVC_INFO_H_
00002 #define _LINUX_AVC_INFO_H_
00003
00004 #ifdef USING_LINUX_FIREWIRE
00005
00006
00007 #include <libraw1394/raw1394.h>
00008 #include <libraw1394/csr.h>
00009 #include <libiec61883/iec61883.h>
00010 #include <libavc1394/avc1394.h>
00011 #include <libavc1394/rom1394.h>
00012
00013
00014 #include <qmap.h>
00015
00016
00017 #include "avcinfo.h"
00018
00019 class LinuxAVCInfo : public AVCInfo
00020 {
00021 public:
00022 LinuxAVCInfo() : fw_handle(NULL) { }
00023
00024 bool Update(uint64_t _guid, raw1394handle_t handle,
00025 uint _port, uint _node);
00026
00027 bool OpenPort(void);
00028 bool ClosePort(void);
00029
00030 virtual bool SendAVCCommand(
00031 const vector<uint8_t> &cmd,
00032 vector<uint8_t> &result,
00033 int retry_cnt);
00034
00035 bool IsPortOpen(void) const { return fw_handle; }
00036
00038 int GetNode(void) const { return node; }
00039
00040 public:
00041 raw1394handle_t fw_handle;
00042 };
00043 typedef QMap<uint64_t,LinuxAVCInfo*> avcinfo_list_t;
00044
00045 #endif // USING_LINUX_FIREWIRE
00046
00047 #endif // _LINUX_AVC_INFO_H_