std::function
class PCamera
{
public:
int RegisterRecvCallback(std::function<int(uint32_t, unsigned char*)> callback_func);
private:
std::function<int(uint32_t, unsigned char*)> recv_callback_func_ = nullptr;
};
int CameraBoxing::OnRecvComplete(uint32_t n_seq, unsigned char* recvbuff)
{
}
int CameraBoxing::StartRecv(int port)
{
std::function<int(uint32_t, unsigned char*)> recv_callback_func = bind(&CameraBoxing::OnRecvComplete, this, std::placeholders::_1, std::placeholders::_2);
PCamera camera;
camera.RegisterRecvCallback(recv_callback_func);
}