#include <string>
using namespace std;
// C++YjYScaleDemo.h: PROJECT_NAME 应用程序的主头文件
//

#pragma once

#ifndef __AFXWIN_H__
	#error "在包含此文件之前包含“stdafx.h”以生成 PCH 文件"
#endif

#include "resource.h"		// 主符号


// CCYjYScaleDemoApp:
// 有关此类的实现，请参阅 C++YjYScaleDemo.cpp
//

class CCYjYScaleDemoApp : public CWinApp
{
public:
	CCYjYScaleDemoApp();

// 重写
public:
	virtual BOOL InitInstance();

// 实现

	DECLARE_MESSAGE_MAP()
};

struct TSDKDeviceInfo {

INT32 Addr; // 设备IP
INT32 Port; // 端口
INT32 ProtocolType;// 协议类型
byte DeviceNo[16] ; // 设备号
INT32 Version; // 下位机软件版本
INT8 LanguageID; // 下位机语言类别
INT8 KeyID; // 键盘类别
INT16 PLUStorage; // PLU可存储数量
INT16 Note1Storage; // Note1可存储数量
INT16 Note2Storage; // Note2可存储数量
INT16 Note3Storage; // Note3可存储数量
INT16 Note4Storage; // Note4可存储数量
DOUBLE PrinterKm ; // 打印公里数
INT32 PrinterPaperCount; // 打印纸张数
byte Reserve[200];
};
typedef void(__stdcall *_progress)(int, int, int, void*);
typedef bool(__stdcall*SDK_Initialize)(void*);
typedef void(__stdcall*SDK_Finalize)(void);
typedef int*(__stdcall*SDK_ExecTask)(int, int, int, char*, _progress, void*);
typedef int*(__stdcall*SDK_ExecTaskW)(int, int, int, char*, _progress, void*);
typedef int*(__stdcall*SDK_ExecTaskA)(int, int, int, char*, _progress, void*);
typedef void(__stdcall*SDK_WaitForTask)(int*);
typedef TSDKDeviceInfo(_stdcall*SDK_GetDeviceInfo)(int);
extern CCYjYScaleDemoApp theApp;
void init();
void FinalizeFree();
//bool transferItem(const int&DateType,const string&addr, const string &fileName,const HWND hWnd);// 下发文件
bool DownFileAdrr(const int&DateType, const string&addr, const HWND hWnd);// 下发文件
bool DelFileAdrr(const int&DateType, const string&addr, const HWND hWnd);// 下发文件
bool UpFileAdrr(const int&DateType, const string&addr, const HWND hWnd);// 下发文件
void CreateFileAddr();
char* returnFileAddr(const int&ProcType,const int&DateType);
CString returnFileName(int ADataType);
CString returnProgramAddr();
unsigned long MakeHostToDWord(const string &addr);


const
// 操作类型定义
// 下载
int Sync_Action_DownLoad = 0x0;
// 上传
const
int Sync_Action_UpLoad = 0x1;
// 删除
const
int Sync_Action_Delete = 0x2;
//
  // 协议类型定义
const
int SDK_ProtocolType_None = 0;
const
int SDK_ProtocolType_Sttp = 1;

const
int Sync_DataType_PLU = 0x0000;
// 部门
const
int Sync_DataType_Department = 0x0001;

// 单位
const
int Sync_DataType_Unit = 0x0002;
// 热键
const
int Sync_DataType_Hotkey = 0x0003;
// 自定义条码
const
int Sync_DataType_CustomBarcode = 0x0004;
// 信息1
const
int Sync_DataType_Note1 = 0x0005;
// 信息2
const
int Sync_DataType_Note2 = 0x0006;
// 信息3
const
int Sync_DataType_Note3 = 0x0007;
// 信息4
const
int Sync_DataType_Note4 = 0x0008;
// 头信息
const
int Sync_DataType_HeaderInfo = 0x0009;
// 尾信息
const
int Sync_DataType_FooterInfo = 0x000A;
// 广告词
const
int Sync_DataType_Advertisement = 0x000B;
// 系统参数
const
int Sync_DataType_SystemOptions = 0x000C;
// 时间
const
int Sync_DataType_Time = 0x000D;
// 标签元件
const
int
Sync_DataType_Label = 0x2000;
// 标签背纹
const
int
Sync_DataType_LabelBackGround = 0x2001;
// 标签文件
const
int
Sync_DataType_LabelFile = 0x2002;