📄 net_cmdtcp.h
字号:
#ifndef _CMDTCP_H
#define _CMDTCP_H
#include "../notif/notif_net.h"
#include "../notif/notif_cmd.h"
#include "../notif/notif_av.h"
#include "net_bktcp.h"
#include "net.h"
#include "net_av.h"
#include "net_logintcp.h"
#include "alarm server.h"
#include "vector"
#include "timer.h"
class net_avtcp;
class net_av;
class net_bktcp;
#define IPPORT ULONG rip, USHORT rport
class login_information
{
public:
ULONG ip;
USHORT port;
ULONG m_id;
PRIVILEGE priv;
net_logintcp * p;
TREC_ALARMINFO alarm_info ;
};
class bak_talk_information
{
public:
ULONG ip;
USHORT port;
net_bktcp *p;
};
typedef std::vector<login_information> login_list;
typedef login_list::iterator kit;
typedef std::vector<bak_talk_information> bak_talk_list;
typedef bak_talk_list::iterator dbit;
//##ModelId=3F9A1D230004
class net_cmdtcp
{
enum
{
max_channel=256,
};
UINT tcp_bitrate;
net_alarmserver * palarmserver;
net_avtcp* avtcp[max_channel];
int last_group;
int vod_group;
bool shake_exit;
HANDLE shake_handle;
CMD_CALLEE cmdcb;
OPT_GET_CALLEE gc;
OPT_SET_CALLEE sc;
login_list login_list;
/// Backup
BACKUP_CALLEE bkcb ;
//Talking
BACKUP_CALLEE talkcb ;
friend DWORD CALLBACK shake_hand_tcp(LPVOID dwUser);
bool creat_shakehand_thread();
void close_shake_handle();
void send_cmd(IPPORT, char cmd, const char* data, int datalen);
void send_cmd_data(int group, char cmd, const char* data, int datalen);
void send_vodcmd_data(int group, char cmd, const char* data, int datalen);
void send_cmd_bak(ULONG rip, USHORT rport, char cmd, const char* data, int datalen, bak_talk_list & list);
void close_vod();
void close_vod(int group);
void shake_hand();
void process_alarm(ULONG ip, USHORT port, byte* data);
ULONG send_open_channel(IPPORT);
ULONG operation_btye(int m);
kit find_login(ULONG ip, USHORT port);
bool delete_login(ULONG ip, USHORT port);
void send_vodcmd_speed(int group, LONG speed);
void insert_login(ULONG ip, USHORT port, ULONG id, PRIVILEGE priv = privNONE);
int get_vod_windows_counts(ULONG ip, USHORT port);
dbit find_bak_talk_inf(ULONG ip, USHORT port, bak_talk_list & list);
void insert_bak_talk_inf(ULONG ip, USHORT port, net_bktcp *p, bak_talk_list & list);
public:
bak_talk_list bak_list;
net_cmdtcp();
virtual ~net_cmdtcp();
BOOL create(IPPORT, CMD_CALLEE cb);
static net_cmdtcp * m_netcmdp;
friend class CSoundintcp;
virtual void destroy();
HWND get_cmdhwnd() { return cmdcb; }
BOOL login(IPPORT, LPCTSTR user, LPCTSTR password);
BOOL logout(IPPORT, BOOL close_remote);
BOOL open_remote_channel(IPPORT,
LONG channel_idx,
LONG group,
VIDEO_CALLEE cb,BOOL bUdpav);
BOOL close_remote_channel(LONG group);
BOOL close_local_channel(LONG group);
void update_window(int group);
//##ModelId=3F9A1D2302DF
void set_option(IPPORT, NET_OPTIONS no, void* stuff, OPT_SET_CALLEE cb);
//##ModelId=3F9A1D230307
void get_option(IPPORT, NET_OPTIONS no, int channel, OPT_GET_CALLEE cb);
bool delete_bak_talk_inf(ULONG ip, USHORT port, bak_talk_list & list, bool m_bool);
virtual void on_net_tcp_recv(byte* buf, int length, ULONG from_ip, USHORT from_port, int group);
void get_options_file(IPPORT, byte * m_byte, OPT_GET_CALLEE cb);
void get_options_backup_file(IPPORT, byte * m_byte, OPT_GET_CALLEE cb);
//##ModelId=3F9A1D23032F
void switch_audio(int group);
//##ModelId=3F9A1D230339
void mute(BOOL mute);
//##ModelId=3F9A1D23034D
int get_audio_group();
void clear_alarm(ULONG ip, USHORT port);
//##ModelId=3F9A1D23034E
VOD_SPEED get_vod_speed(ULONG ip,int group);
//##ModelId=3F9A1D230357
void request_vod(ULONG rip, LONG rport,
const TREC_FILETIME* ft,
VOD_CMD cmd,
int group,
VIDEO_CALLEE cb,BOOL bUdpav);
//##ModelId=3F9A1D230393
void start_local_record(int group, TCHAR drive);
//##ModelId=3F9A1D2303A7
void stop_local_record(int group);
//##ModelId=3F9A1D2303BB
void get_local_record(int group, TCHAR* drive);
bool check_vod_send_cmd(LONG speed, int time_nub);
void start_backup(IPPORT, TREC_BACKUPTIME* opt, BACKUP_CALLEE cb) ;
void stop_backup(ULONG rip, USHORT rport) ;
void start_talk(IPPORT,int channel, BACKUP_CALLEE cb) ;
void stop_talk(ULONG rip, USHORT rport) ;
bak_talk_list talk_list;
//##ModelId=3F9A1D240006
bool snapshot(int group, LPCTSTR bmpfile);
//##ModelId=3F9A1D24001A
void set_video_renderer(COLOR_SPACE cs, BOOL video_mem);
void get_disk_info(ULONG rip, ULONG rport);
//##ModelId=3F9A1D240037
PRIVILEGE get_privilege(ULONG ip, USHORT port);
//##ModelId=3F9A1D24004B
BOOL is_muted();
void on_disconnect(ULONG ip, USHORT port);
void post_alarm_message(ULONG ip, USHORT m_new, USHORT m_type);
void get_zh_decstate(ULONG ip, USHORT port, int address);
ULONG get_host_by_name(LPCTSTR m_name);
BOOL set_cb_showhandle(int group, VIDEO_CALLEE cb);
BOOL set_callbackfn(int group, PCALLBACKSTREAMPROD p, DWORD d1, DWORD d2);
BOOL set_decodedcallbackfn(int group, PCALLBACKDECODEDSTREAMPROD p, DWORD d1, DWORD d2);
BOOL setdrawaddimagecallback(int group, pDraw_Add_Image pimage, DWORD d1, DWORD d2);
BOOL open_alarm_server(USHORT bindport);
BOOL close_alarm_server();
BOOL set_update_statue(ULONG ip, USHORT port);
BOOL set_netclub_info(ULONG ip, USHORT port, void * buf, int len);
BOOL set_dvrrestart(ULONG ip, USHORT port);
BOOL sendcardid(ULONG ip, USHORT port, void * buf);
BOOL opennet_alarm(ULONG ip, USHORT port, int channel);
BOOL closenet_alarm(ULONG ip, USHORT port, int channel);
BOOL openalarm_output(ULONG ip, USHORT port, int output);
UINT get_bitrate(int group);
UINT tcp_get_bitrate();
BOOL is_opened(int group);
};
#undef IPPORT
#endif // _CMD_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -