65,186
社区成员




//CameraClient.h
#ifndef _CAMERA_CLIENT_H__
#define _CAMERA_CLIENT_H__
#include <string.h>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
using namespace std;
namespace CAMERA_VITRUAL {
typedef void(*user_callback_fun)(int addr, void* entity_in);
//Camera实体类
class CameraClient
{
public:
void set_user_callback_fun(user_callback_fun fun);
public:
CameraClient();
~CameraClient() throw ();
void close();
int init(const string& brokerURI, string& clientID);
private:
void cleanup();
private:
user_callback_fun m_userCallbackFun;
int m_x;
int m_y;
};
}
#endif
//CameraInterface.h
#ifndef _CAMERAINTERFACE_H__
#define _CAMERAINTERFACE_H__
#ifdef CAMCLIENT_EXPORTS
# define DLL_IMPORT_CAM __declspec (dllexport)
#else
# define DLL_IMPORT_CAM __declspec (dllimport)
#endif
#include "test_cfg.h"
namespace CAMERA_VITRUAL {
typedef void(*user_callback_fun)(int addr, void* entity_in);
class CamereClient;
//CamClient接口类
class DLL_IMPORT_CAM CameraInterface
{
public:
~CameraInterface();
static CameraInterface* get_instance();
public:
void set_user_callback_fun(user_callback_fun fun);
void close();
int init(const string& brokerURI, string& clientID);
protected:
CameraInterface();
private:
static CameraInterface* m_instace;
CamereClient* m_CamClient;
};
}
#ifdef __cplusplus
extern "C"
{
#endif
DLL_IMPORT_CAM void pub_entity_fun(int addr, void* entity_in); //发布
DLL_IMPORT_CAM void sub_entity_fun(int addr, void* entity_in); //订阅
#ifdef __cplusplus
}
#endif
#endif
//CameraClient.cpp
#include "CameraClient.h"
using namespace CAMERA_VITRUAL;
void CameraClient::set_user_callback_fun(user_callback_fun userCallbackFun)
{
m_userCallbackFun = userCallbackFun;
}
CameraClient::CameraClient()
{
m_x = 0;
m_y = 1;
}
CameraClient::~CameraClient() throw ()
{
cleanup();
}
void CameraClient::close()
{
cleanup();
}
int CameraClient::init(const string& brokerURI, string& clientID)
{
return 0;
}
void CameraClient::cleanup()
{
}
//CameraInterface.cpp
#include "CameraClient.h"
#include "CameraInterface.h"
using namespace CAMERA_VITRUAL;
CameraInterface* CameraInterface::m_instace = new CameraInterface();
CameraInterface* CameraInterface::get_instance()
{
return m_instace;
}
CameraInterface::CameraInterface()
{
m_CamClient = new CamereClient();
}
CameraInterface::~CameraInterface()
{
if (m_CamClient != NULL)
{
delete m_CamClient;
m_CamClient = NULL;
}
}
int CameraInterface::init(const string& brokerURI, string& clientID)
{
return m_CamClient->init(brokerURI, clientID);
}
void CameraInterface::close()
{
return m_CamClient->close();
}
void CameraInterface::set_user_callback_fun(user_callback_fun userCallbackFun)
{
return m_CamClient->set_user_callback_fun(userCallbackFun);
}
void pub_entity_fun(int addr, void* entity_in)
{
}
void sub_entity_fun(int addr, void* entity_in)
{
}