1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414 |
- // ScbcCopyKey.cpp : 定义 DLL 应用程序的导出函数。
- //
- #include "stdafx.h"
- #include "ScbcCopyKey.h"
- #include "OTA.h"
- #include "CurlClient.h"
- #include "cJSON.h"
- #include "CharEncoding.h"
- #ifdef __MAKE_PYD__
- #include "Python.h"
- #endif
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #endif
- CSIACP g_objSiacp;
- std::string g_strData;
- std::string g_httpData;
- bool ReadKeyFile(const char *lpfile, std::string& data)
- {
- if (!lpfile || _taccess(lpfile, 0) == -1)
- return false;
- FILE* pf = NULL;
- if (_tfopen_s(&pf, lpfile, _T("rb")) == 0)
- {
- if (pf)
- {
- fseek(pf, 0, SEEK_END);
- size_t fs = ftell(pf);
- fseek(pf, 0, SEEK_SET);
- byte* pdata = (byte*)malloc(fs);
- if (pdata)
- {
- fread(pdata, fs, 1, pf);
- fclose(pf);
- data.append((char*)pdata, fs);
- free(pdata);
- return true;
- }
- fclose(pf);
- }
- }
- return false;
- }
- // 唯一的应用程序对象
- #ifdef __CONSOLE__
- CWinApp theApp;
- using namespace std;
- int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
- {
- int nRetCode = 0;
- // 初始化 MFC 并在失败时显示错误
- if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
- {
- // TODO: 更改错误代码以符合您的需要
- _tprintf(_T("错误: MFC 初始化失败\n"));
- nRetCode = 1;
- }
- else
- {
- std::string token = HTTP_Login("http://test.dsp.server.qhmoka.com/login", "auto", "123456", TRUE);
- if ( token.size() )
- {
- int userId = HTTP_GetUserId("http://test.dsp.server.qhmoka.com/api/automation/getUserId", token.c_str(), "MOKA-AF-MS6586-0000L", "fe6015c2966118d45e745d3bdeabc052f87e7847", "5c:ad:76:e0:55:79");
- }
- // TODO: 在此处为应用程序的行为编写代码。
- if ( Open(5, 115200, 8, 0, 1) )
- {
- if ( EnterFactory() )
- {
- /*printf("%d\n",GetProjectId());
- printf("%s\n",GetSoftVersion());
- printf("%s\n",GetDeviceId());
- printf("%s\n",GetClientType());
- printf("%s\n",GetMAC());
- printf("%s\n",GetHDCPKey());
- printf("%s\n",GetHDCPKey22());
- printf("%s\n",GetWidi());
- printf("%s\n",GetNetflixESN());
- printf("%s\n",GetWidevine());
- printf("%s\n",GetCiKey());
- printf("%s\n",GetOSDLanguage());
- printf("%s\n",GetShopLanguage());
- printf("%s\n",GetChannel());
- ShowFactoryMenu();
- HideFactoryMenu();
- ShowFactoryInformation();
- HideFactoryInformation();
- int min = 0;
- ReadAgingTime(min);
- */
- SetRedGainRegister(100);
- SetRedGainRegister(300);
-
- LeaveFactory();
- }
- else
- {
- printf("进入工厂模式失败\n");
- }
-
- Close();
- }
- else
- {
- printf("打开串口失败\n");
- }
- }
- system("pause");
- return nRetCode;
- }
- #endif
- #ifndef __MAKE_PYD__
- SCBCCOPYKEY_API BOOL Open(int nPort, DWORD dwBaudrate, BYTE ByteSize, BYTE Parity, BYTE StopBits)
- {
- return g_objSiacp.OpenComm(nPort, dwBaudrate);
- }
- SCBCCOPYKEY_API void Close()
- {
- g_objSiacp.CloseComm();
- }
- SCBCCOPYKEY_API BOOL IsOpen()
- {
- return g_objSiacp.IsOpen();
- }
- SCBCCOPYKEY_API BOOL EnterFactory()
- {
- return g_objSiacp.SCBC_EnterFactory();
- }
- SCBCCOPYKEY_API BOOL LeaveFactory()
- {
- return g_objSiacp.SCBC_LeaveFactory();
- }
- //////////////////////////////////////////////////////////////////////////
- // 读取;
- SCBCCOPYKEY_API INT GetProjectId()
- {
- int pid = 0;
- if ( g_objSiacp.SCBC_GetProjectId(pid) )
- return pid;
- // 获取失败返回-1;
- return -1;
- }
- SCBCCOPYKEY_API LPCTSTR GetSoftVersion()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetSoftVersion(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetDeviceId()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetDeviceId(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetClientType()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetClientType(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetMAC()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetMAC(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetHDCPKey()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetHDCPKey(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetHDCPKey22()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetHDCPKey22(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetWidi()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetWidi(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetNetflixESN()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetNetflixESN(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetWidevine()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetWidevine(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetCiKey()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetCiKey(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetOSDLanguage()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetOSDLanguage(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetShopLanguage()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetShopLanguage(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- SCBCCOPYKEY_API LPCTSTR GetChannel()
- {
- g_strData.clear();
- if ( g_objSiacp.SCBC_GetChannel(g_strData) )
- return g_strData.c_str();
- return _T("");
- }
- //////////////////////////////////////////////////////////////////////////
- // 设置;
- SCBCCOPYKEY_API BOOL SetProjectId(int pid)
- {
- return g_objSiacp.SCBC_SetProjectId(pid);
- }
- SCBCCOPYKEY_API BOOL SetProjectId(LPCTSTR lpPid)
- {
- if ( lpPid == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetProjectId(lpPid);
- }
- SCBCCOPYKEY_API BOOL SetProjectId(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetProjectId(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetDeviceId(LPCTSTR lpDeviceId)
- {
- if ( lpDeviceId == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetDeviceId(lpDeviceId);
- }
- SCBCCOPYKEY_API BOOL SetDeviceId(const byte* pBuffer, const int &nLen)
- {
- return g_objSiacp.SCBC_SetDeviceId(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetMAC(LPCTSTR lpMac)
- {
- if ( lpMac == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetMAC(lpMac);
- }
- SCBCCOPYKEY_API BOOL SetMAC(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetMAC(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetHDCPKey(LPCTSTR lpHDCP, BOOL bHasSpace)
- {
- if ( lpHDCP == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetHDCPKey(lpHDCP, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetHDCPKey(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetHDCPKey(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetHDCPKey22(LPCTSTR lpHDCP22, BOOL bHasSpace)
- {
- if ( lpHDCP22 == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetHDCPKey22(lpHDCP22, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetHDCPKey22(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetHDCPKey22(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetNetflixESN(LPCTSTR lpESN, BOOL bHasSpace)
- {
- if ( lpESN == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetNetflixESN(lpESN, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetNetflixESN(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetNetflixESN(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetWidi(LPCTSTR lpWidi, BOOL bHasSpace)
- {
- if ( lpWidi == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetWidi(lpWidi, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetWidi(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetWidi(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetWidevine(LPCTSTR lpWidevine, BOOL bHasSpace)
- {
- if ( lpWidevine == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetWidevine(lpWidevine, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetWidevine(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetWidevine(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetCiKey(LPCTSTR lpCiKey, BOOL bHasSpace)
- {
- if ( lpCiKey == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetCiKey(lpCiKey, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetCiKey(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetCiKey(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetOSDLanguage(LPCTSTR lan, BOOL bHasSpace)
- {
- if ( lan == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetOSDLanguage(lan, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetOSDLanguage(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetOSDLanguage(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetShopLanguage(LPCTSTR lan, BOOL bHasSpace)
- {
- if ( lan == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetShopLanguage(lan, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetShopLanguage(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetShopLanguage(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetChannel(LPCTSTR channel, BOOL bHasSpace)
- {
- if ( channel == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetChannel(channel, bHasSpace);
- }
- SCBCCOPYKEY_API BOOL SetChannel(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetChannel(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetWBNormal(LPCTSTR data)
- {
- if ( data == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetWBNormal(data);
- }
- SCBCCOPYKEY_API BOOL SetWBNormal(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetWBNormal(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetWBCool(LPCTSTR data)
- {
- if ( data == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetWBCool(data);
- }
- SCBCCOPYKEY_API BOOL SetWBCool(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetWBCool(pBuffer, nLen);
- }
- SCBCCOPYKEY_API BOOL SetWBWarm(LPCTSTR data)
- {
- if ( data == NULL)
- return FALSE;
- return g_objSiacp.SCBC_SetWBWarm(data);
- }
- SCBCCOPYKEY_API BOOL SetWBWarm(const byte* pBuffer, const int& nLen)
- {
- return g_objSiacp.SCBC_SetWBWarm(pBuffer, nLen);
- }
- //////////////////////////////////////////////////////////////////////////
- // 检验;
- SCBCCOPYKEY_API BOOL CheckDeviceId()
- {
- return g_objSiacp.SCBC_CheckDeviceId();
- }
- SCBCCOPYKEY_API BOOL CheckMAC()
- {
- return g_objSiacp.SCBC_CheckMAC();
- }
- SCBCCOPYKEY_API BOOL CheckHDCP()
- {
- return g_objSiacp.SCBC_CheckHDCP();
- }
- SCBCCOPYKEY_API BOOL CheckHDCP22()
- {
- return g_objSiacp.SCBC_CheckHDCP22();
- }
- SCBCCOPYKEY_API BOOL CheckNetflixESN()
- {
- return g_objSiacp.SCBC_CheckNetflixESN();
- }
- SCBCCOPYKEY_API BOOL CheckWidi()
- {
- return g_objSiacp.SCBC_CheckWidi();
- }
- SCBCCOPYKEY_API BOOL CheckWidevine()
- {
- return g_objSiacp.SCBC_CheckWidevine();
- }
- SCBCCOPYKEY_API BOOL CheckCikey()
- {
- return g_objSiacp.SCBC_CheckCikey();
- }
- SCBCCOPYKEY_API BOOL StarWarmUpMode()
- {
- return g_objSiacp.SCBC_StarWarmUpMode();
- }
- SCBCCOPYKEY_API BOOL StopWarmUpMode()
- {
- return g_objSiacp.SCBC_StopWarmUpMode();
- }
- SCBCCOPYKEY_API BOOL ShowFactoryMenu()
- {
- return g_objSiacp.SCBC_ShowFactoryMenu();
- }
- SCBCCOPYKEY_API BOOL HideFactoryMenu()
- {
- return g_objSiacp.SCBC_HideFactoryMenu();
- }
- SCBCCOPYKEY_API BOOL ShowFactoryInformation()
- {
- return g_objSiacp.SCBC_ShowFactoryInformation();
- }
- SCBCCOPYKEY_API BOOL HideFactoryInformation()
- {
- return g_objSiacp.SCBC_HideFactoryInformation();
- }
- SCBCCOPYKEY_API BOOL EnterAgingModel()
- {
- return g_objSiacp.SCBC_EnterAgingModel();
- }
- SCBCCOPYKEY_API BOOL LeaveAgingModel()
- {
- return g_objSiacp.SCBC_LeaveAgingModel();
- }
- SCBCCOPYKEY_API BOOL ReadAgingTime(int &min)
- {
- return g_objSiacp.SCBC_ReadAgingTime(min);
- }
- SCBCCOPYKEY_API BOOL SetRedGainRegister(int value)
- {
- return g_objSiacp.SCBC_SetRedGainRegister(value);
- }
- SCBCCOPYKEY_API BOOL SetGreenGainRegister(int value)
- {
- return g_objSiacp.SCBC_SetGreenGainRegister(value);
- }
- SCBCCOPYKEY_API BOOL SetBlueGainRegister(int value)
- {
- return g_objSiacp.SCBC_SetBlueGainRegister(value);
- }
- SCBCCOPYKEY_API BOOL SetRedOffsetRegister(int value)
- {
- return g_objSiacp.SCBC_SetRedOffsetRegister(value);
- }
- SCBCCOPYKEY_API BOOL SetGreenOffsetRegister(int value)
- {
- return g_objSiacp.SCBC_SetGreenOffsetRegister(value);
- }
- SCBCCOPYKEY_API BOOL SetBlueOffsetRegister(int value)
- {
- return g_objSiacp.SCBC_SetBlueOffsetRegister(value);
- }
- #else
- static PyObject* Open(PyObject* self, PyObject* args)
- {
- int nPort;
- int Baudrate;
- int ByteSize, Parity, StopBits;
- if (!PyArg_ParseTuple(args, "iiiii", &nPort, &Baudrate, &ByteSize, &Parity, &StopBits ))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.OpenComm(nPort, Baudrate));
- }
- static PyObject* Close(PyObject* self, PyObject* args)
- {
- g_objSiacp.CloseComm();
- return Py_None;
- }
- static PyObject* IsOpen(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.IsOpen());
- }
- static PyObject* EnterFactory(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_EnterFactory());
- }
- static PyObject* LeaveFactory(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_LeaveFactory());
- }
- //////////////////////////////////////////////////////////////////////////
- // 读取;
- static PyObject* GetProjectId(PyObject* self, PyObject* args)
- {
- int pid = -1;
- g_objSiacp.SCBC_GetProjectId(pid);
- // 获取失败返回-1;
- return Py_BuildValue("i", pid);
- }
- static PyObject* GetSoftVersion(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetSoftVersion(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetDeviceId(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetDeviceId(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetClientType(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetClientType(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetMAC(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetMAC(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetHDCPKey(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetHDCPKey(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetHDCPKey22(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetHDCPKey22(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetWidi(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetWidi(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetNetflixESN(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetNetflixESN(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetWidevine(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetWidevine(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetCiKey(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetCiKey(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetOSDLanguage(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetOSDLanguage(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetShopLanguage(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetShopLanguage(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- static PyObject* GetChannel(PyObject* self, PyObject* args)
- {
- g_strData.clear();
- g_objSiacp.SCBC_GetChannel(g_strData);
- // 获取失败返回"";
- return Py_BuildValue("s", g_strData.c_str());
- }
- //////////////////////////////////////////////////////////////////////////
- // 设置;
- static PyObject* SetProjectId(PyObject* self, PyObject* args)
- {
- int pid = 0;
- if (!PyArg_ParseTuple(args, "i", &pid))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetProjectId(pid));
- }
- static PyObject* SetDeviceId(PyObject* self, PyObject* args)
- {
- const char* pszdata= 0;
- if (!PyArg_ParseTuple(args, "s", &pszdata))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetDeviceId(pszdata));
- }
- static PyObject* SetDeviceIdBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetDeviceId((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetMAC(PyObject* self, PyObject* args)
- {
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "s", &pszdata))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetMAC(pszdata));
- }
- static PyObject* SetMACBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetMAC((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetHDCPKey(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetHDCPKey(pszdata, bHasSpace));
- }
- static PyObject* SetHDCPKeyBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetHDCPKey((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetHDCPKey22(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetHDCPKey22(pszdata, bHasSpace));
- }
- static PyObject* SetHDCPKey22BF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetHDCPKey22((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetNetflixESN(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetNetflixESN(pszdata, bHasSpace));
- }
- static PyObject* SetNetflixESNBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetNetflixESN((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetWidi(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWidi(pszdata, bHasSpace));
- }
- static PyObject* SetWidiBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWidi((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetWidevine(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWidevine(pszdata, bHasSpace));
- }
- static PyObject* SetWidevineBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWidevine((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetCiKey(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetCiKey(pszdata, bHasSpace));
- }
- static PyObject* SetCiKeyBF(PyObject* self, PyObject* args)
- {
- const char* pszfile = 0;
- if (!PyArg_ParseTuple(args, "s", &pszfile))
- return NULL;
- // 打开文件;
- std::string data;
- if ( ReadKeyFile(pszfile, data) )
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetCiKey((BYTE*)data.c_str(), data.size()));
- }
- return Py_BuildValue("b", false);
- }
- static PyObject* SetOSDLanguage(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetOSDLanguage(pszdata, bHasSpace));
- }
- static PyObject* SetShopLanguage(PyObject* self, PyObject* args)
- {
- BOOL bHasSpace;
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "sb", &pszdata, &bHasSpace))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetShopLanguage(pszdata, bHasSpace));
- }
- static PyObject* SetChannel(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetChannel(value));
- }
- static PyObject* SetWBNormal(PyObject* self, PyObject* args)
- {
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "s", &pszdata))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWBNormal(pszdata));
- }
- static PyObject* SetWBCool(PyObject* self, PyObject* args)
- {
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "s", &pszdata))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWBCool(pszdata));
- }
- static PyObject* SetWBWarm(PyObject* self, PyObject* args)
- {
- const char* pszdata = 0;
- if (!PyArg_ParseTuple(args, "s", &pszdata))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetWBWarm(pszdata));
- }
- //////////////////////////////////////////////////////////////////////////
- // 校验;
- static PyObject* CheckDeviceId(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckDeviceId());
- }
- static PyObject* CheckMAC(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckMAC());
- }
- static PyObject* CheckHDCP(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckHDCP());
- }
- static PyObject* CheckHDCP22(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckHDCP22());
- }
- static PyObject* CheckNetflixESN(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckNetflixESN());
- }
- static PyObject* CheckWidi(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckWidi());
- }
- static PyObject* CheckWidevine(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckWidevine());
- }
- static PyObject* CheckCikey(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_CheckCikey());
- }
- static PyObject* StarWarmUpMode(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_StarWarmUpMode());
- }
- static PyObject* StopWarmUpMode(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_StopWarmUpMode());
- }
- //
- static PyObject* ShowFactoryMenu(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_ShowFactoryMenu());
- }
- static PyObject* HideFactoryMenu(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_HideFactoryMenu());
- }
- static PyObject* ShowFactoryInformation(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_ShowFactoryInformation());
- }
- static PyObject* HideFactoryInformation(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_HideFactoryInformation());
- }
- static PyObject* EnterAgingModel(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_EnterAgingModel());
- }
- static PyObject* LeaveAgingModel(PyObject* self, PyObject* args)
- {
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_LeaveAgingModel());
- }
- static PyObject* ReadAgingTime(PyObject* self, PyObject* args)
- {
- int min = 0;
- if ( !g_objSiacp.SCBC_ReadAgingTime(min) )
- return Py_BuildValue("i", -1);
- return Py_BuildValue("i", min);
- }
- static PyObject* SetRedGainRegister(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetRedGainRegister(value));
- }
- static PyObject* SetGreenGainRegister(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetGreenGainRegister(value));
- }
- static PyObject* SetBlueGainRegister(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetBlueGainRegister(value));
- }
- static PyObject* SetRedOffsetRegister(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetRedOffsetRegister(value));
- }
- static PyObject* SetGreenOffsetRegister(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetGreenOffsetRegister(value));
- }
- static PyObject* SetBlueOffsetRegister(PyObject* self, PyObject* args)
- {
- int value = 0;
- if (!PyArg_ParseTuple(args, "i", &value))
- return NULL;
- return Py_BuildValue("b", (bool)g_objSiacp.SCBC_SetBlueOffsetRegister(value));
- }
- static PyObject* HTTPLogin(PyObject* self, PyObject* args)
- {
- int rememberMe = 0;
- const char* pszhost = NULL;
- const char* pszUserName = NULL;
- const char* pszPassword = NULL;
-
- if (!PyArg_ParseTuple(args, "sssb", &pszhost, &pszUserName, &pszPassword, &rememberMe))
- return NULL;
- HTTP_Login(pszhost, pszUserName, pszPassword, rememberMe);
- return Py_BuildValue("s", g_httpData.c_str());
- }
- static PyObject* HTTPGetUserId(PyObject* self, PyObject* args)
- {
- const char* pszhost = NULL;
- const char* pszToken = NULL;
- const char* pszClientType = NULL;
- const char* pszDeviceId = NULL;
- const char* pszMAC = NULL;
- if (!PyArg_ParseTuple(args, "sssss", &pszhost, &pszToken, &pszClientType, &pszDeviceId, &pszMAC))
- return NULL;
- int userId = HTTP_GetUserId(pszhost, pszToken, pszClientType, pszDeviceId, pszMAC);
- return Py_BuildValue("i", userId);
- }
- // 描述方法,暴露给python的函数;
- static PyMethodDef ScbcCopyKey_Methods[] = {
- {"Open",Open,METH_VARARGS,"打开串口"},
- {"Close", Close, METH_VARARGS, "关闭串口"},
- {"IsOpen", IsOpen, METH_VARARGS, "串口是否打开"},
- {"EnterFactory", EnterFactory, METH_VARARGS, "进入工厂模式"},
- {"LeaveFactory", LeaveFactory, METH_VARARGS, "离开工厂模式"},
- //////////////////////////////////////////////////////////////////////////
- // 读取;
- {"GetProjectId", GetProjectId, METH_VARARGS, "获取pid"},
- {"GetSoftVersion", GetSoftVersion, METH_VARARGS, "获取版本号"},
- {"GetDeviceId", GetDeviceId, METH_VARARGS, "获取DeviceID"},
- {"GetClientType", GetClientType, METH_VARARGS, "获取ClientType"},
- {"GetMAC", GetMAC, METH_VARARGS, "获取MAC"},
- {"GetHDCPKey", GetHDCPKey, METH_VARARGS, "获取HDCP"},
- {"GetHDCPKey22", GetHDCPKey22, METH_VARARGS, "获取HDCP22"},
- {"GetWidi", GetWidi, METH_VARARGS, "获取WIDI"},
- {"GetNetflixESN", GetNetflixESN, METH_VARARGS, "获取ESN"},
- {"GetWidevine", GetWidevine, METH_VARARGS, "获取WIDEVINE"},
- {"GetCiKey", GetCiKey, METH_VARARGS, "获取CIKEY"},
- {"GetOSDLanguage", GetOSDLanguage, METH_VARARGS, "获取OSDLAN"},
- {"GetShopLanguage", GetShopLanguage, METH_VARARGS, "获取SHOPLAN"},
- {"GetChannel", GetChannel, METH_VARARGS, "获取频道号"},
- //////////////////////////////////////////////////////////////////////////
- // 设置;
- {"SetProjectId", SetProjectId, METH_VARARGS, "设置pid"},
- {"SetDeviceId", SetDeviceId, METH_VARARGS, "设置DeviceId"},
- {"SetDeviceIdBF", SetDeviceIdBF, METH_VARARGS, "设置DeviceId"},
- {"SetMAC", SetMAC, METH_VARARGS, "设置MAC"},
- {"SetMACBF", SetMACBF, METH_VARARGS, "设置MAC"},
- {"SetHDCPKey", SetHDCPKey, METH_VARARGS, "设置HDCP"},
- {"SetHDCPKeyBF", SetHDCPKeyBF, METH_VARARGS, "设置HDCP"},
- {"SetHDCPKey22", SetHDCPKey22, METH_VARARGS, "设置HDCP22"},
- {"SetHDCPKey22BF", SetHDCPKey22BF, METH_VARARGS, "设置HDCP22"},
- {"SetWidi", SetWidi, METH_VARARGS, "设置WIDI"},
- {"SetWidiBF", SetWidiBF, METH_VARARGS, "设置WIDI"},
- {"SetNetflixESN", SetNetflixESN, METH_VARARGS, "设置ESN"},
- {"SetNetflixESNBF", SetNetflixESNBF, METH_VARARGS, "设置ESN"},
- {"SetWidevine", SetWidevine, METH_VARARGS, "设置WIDEVINE"},
- {"SetWidevineBF", SetWidevineBF, METH_VARARGS, "设置WIDEVINE"},
- {"SetCiKey", SetCiKey, METH_VARARGS, "设置CIKEY"},
- {"SetCiKeyBF", SetCiKeyBF, METH_VARARGS, "设置CIKEY"},
- {"SetOSDLanguage", SetOSDLanguage, METH_VARARGS, "设置OSDLAN"},
- {"SetShopLanguage", SetShopLanguage, METH_VARARGS, "设置SHOPLAN"},
- {"SetChannel", SetChannel, METH_VARARGS, "设置频道号"},
- {"SetWBNormal", SetWBNormal, METH_VARARGS, "设置OSDLAN"},
- {"SetWBCool", SetWBCool, METH_VARARGS, "设置SHOPLAN"},
- {"SetWBWarm", SetWBWarm, METH_VARARGS, "设置频道号"},
- //////////////////////////////////////////////////////////////////////////
- // 校验;
- {"CheckDeviceId", CheckDeviceId, METH_VARARGS, "检验pid"},
- {"CheckMAC", CheckMAC, METH_VARARGS, "检验MAC"},
- {"CheckHDCP", CheckHDCP, METH_VARARGS, "检验HDCP"},
- {"CheckHDCP22", CheckHDCP22, METH_VARARGS, "检验HDCP22"},
- {"CheckWidi", CheckWidi, METH_VARARGS, "检验WIDI"},
- {"CheckNetflixESN", CheckNetflixESN, METH_VARARGS, "检验ESN"},
- {"CheckWidevine", CheckWidevine, METH_VARARGS, "检验WIDEVINE"},
- {"CheckCikey", CheckCikey, METH_VARARGS, "检验CIKEY"},
- {"StarWarmUpMode", StarWarmUpMode, METH_VARARGS, "检验OSDLAN"},
- {"StopWarmUpMode", StopWarmUpMode, METH_VARARGS, "检验SHOPLAN"},
- // others;
- {"ShowFactoryMenu", ShowFactoryMenu, METH_VARARGS, "显示工厂菜单"},
- {"HideFactoryMenu", HideFactoryMenu, METH_VARARGS, "隐藏工厂菜单"},
- {"ShowFactoryInformation", ShowFactoryInformation, METH_VARARGS, "工厂信息内容显示"},
- {"HideFactoryInformation", HideFactoryInformation, METH_VARARGS, "工厂信息内容隐藏"},
- {"EnterAgingModel", EnterAgingModel, METH_VARARGS, "老化模式开"},
- {"LeaveAgingModel", LeaveAgingModel, METH_VARARGS, "老化模式关"},
- {"ReadAgingTime", ReadAgingTime, METH_VARARGS, "老化时间读取"},
- {"SetRedGainRegister", SetRedGainRegister, METH_VARARGS, "红增益"},
- {"SetGreenGainRegister", SetGreenGainRegister, METH_VARARGS, "绿增益"},
- {"SetBlueGainRegister", SetBlueGainRegister, METH_VARARGS, "蓝增益"},
- {"SetRedOffsetRegister", SetRedOffsetRegister, METH_VARARGS, "红偏移"},
- {"SetGreenOffsetRegister", SetGreenOffsetRegister, METH_VARARGS, "绿偏移"},
- {"SetBlueOffsetRegister", SetBlueOffsetRegister, METH_VARARGS, "蓝偏移"},
- // HTTP
- {"HTTPLogin", HTTPLogin, METH_VARARGS, "登录服务器"},
- {"HTTPGetUserId", HTTPGetUserId, METH_VARARGS, "获取UserId"},
- {NULL,NULL}
- };
- // 初始模块;//格式:init<模块名称>
- PyMODINIT_FUNC initScbcCopyKey()
- {
- // 初始化pyd函数列表;
- PyObject* m, * d;
- m = Py_InitModule("ScbcCopyKey", ScbcCopyKey_Methods);
- d = PyModule_GetDict(m);
- }
- #endif
- SCBCCOPYKEY_API LPCTSTR HTTP_Login(LPCTSTR lpHost, LPCTSTR lpUserName, LPCTSTR lpPassword, BOOL bRemember)
- {
- if ( !lpHost || !lpUserName || !lpPassword )
- return _T("");
- CCurlClient curl;
- if ( curl.Initialize() == CURLE_OK)
- {
- curl.SetHeaders("Content-Type: application/json;charset=utf-8");
- // Json数据;
- cJSON *pJson = cJSON_CreateObject();
- cJSON_AddStringToObject(pJson, "username", lpUserName);
- cJSON_AddStringToObject(pJson, "password", lpPassword);
- cJSON_AddStringToObject(pJson, "rememberMe", bRemember ? "true" : "false");
- char *pJsonText = cJSON_Print(pJson);
- std::string result;
- CURLcode curlCode = CURLE_OK;
- if (_tcsstr(lpHost, "https://") || _tcsstr(lpHost, "HTTPS://") )
- curlCode = curl.Posts(lpHost, pJsonText, result);
- else
- curlCode = curl.Posts(lpHost, pJsonText, result);
- // 释放堆内存;
- if (pJsonText)
- delete pJsonText;
- pJsonText = NULL;
- if ( pJson )
- cJSON_Delete(pJson);
- pJson = NULL;
- if ( curlCode == CURLE_OK )
- {
- result = CharEncoding::DeCode_URLUTF8(result.c_str());
- // 解析返回值;
- pJson = cJSON_Parse(result.c_str());
- if (pJson != NULL)
- {
- int code = cJSON_GetObjectItem(pJson, "code") ? cJSON_GetObjectItem(pJson, "code")->valueint : -1;
- std::string msg = cJSON_GetObjectItem(pJson, "msg") ? cJSON_GetObjectItem(pJson, "msg")->valuestring : "";
- if ( code == 0 )
- {
- cJSON *pObj = cJSON_GetObjectItem(pJson, "data");
- if (pObj != NULL)
- {
- g_httpData = cJSON_GetObjectItem(pObj, "token") ? cJSON_GetObjectItem(pObj, "token")->valuestring : "";
- // 释放内存;
- cJSON_Delete(pJson);
- // 返回结果;
- return g_httpData.c_str();
- }
- }
- // 错误产生,可输出msg方便查询;
- cJSON_Delete(pJson);
- }
- }
- }
- return _T("");
- }
- SCBCCOPYKEY_API int HTTP_GetUserId(LPCTSTR lpHost, LPCTSTR lpLoginToken, LPCTSTR lpClientType, LPCTSTR lpDeviceId, LPCTSTR lpMAC)
- {
- if ( !lpHost || !lpLoginToken || !lpClientType || !lpDeviceId || !lpMAC)
- return -1;
- CCurlClient curl;
- if ( curl.Initialize() == CURLE_OK)
- {
- std::string header = "Authorization:";
- header.append(lpLoginToken);
- curl.SetHeaders(header);
- curl.SetHeaders("Content-Type: application/json;charset=utf-8");
- // Json数据;
- cJSON *pJson = cJSON_CreateObject();
- cJSON_AddStringToObject(pJson, "clientType", lpClientType);
- cJSON_AddStringToObject(pJson, "deviceId", lpDeviceId);
- cJSON_AddStringToObject(pJson, "mac", lpMAC);
- char *pJsonText = cJSON_Print(pJson);
- std::string result;
- CURLcode curlCode = CURLE_OK;
- if (_tcsstr(lpHost, "https://") || _tcsstr(lpHost, "HTTPS://") )
- curlCode = curl.Posts(lpHost, pJsonText, result);
- else
- curlCode = curl.Posts(lpHost, pJsonText, result);
- // 释放堆内存;
- if (pJsonText)
- delete pJsonText;
- pJsonText = NULL;
- if ( pJson )
- cJSON_Delete(pJson);
- pJson = NULL;
- if ( curlCode == CURLE_OK )
- {
- result = CharEncoding::DeCode_URLUTF8(result.c_str());
- // 解析返回值;
- pJson = cJSON_Parse(result.c_str());
- if (pJson != NULL)
- {
- int code = cJSON_GetObjectItem(pJson, "code") ? cJSON_GetObjectItem(pJson, "code")->valueint : -1;
- std::string msg = cJSON_GetObjectItem(pJson, "msg") ? cJSON_GetObjectItem(pJson, "msg")->valuestring : "";
- if ( code == 0 )
- {
- cJSON *pObj = cJSON_GetObjectItem(pJson, "data");
- if (pObj != NULL)
- {
- int uiserId = cJSON_GetObjectItem(pObj, "userId") ? cJSON_GetObjectItem(pObj, "userId")->valueint : -1;
- // 释放内存;
- cJSON_Delete(pJson);
- // 返回结果;
- return uiserId;
- }
- }
- // 错误产生,可输出msg方便查询;
- cJSON_Delete(pJson);
- }
- }
- }
- return -1;
- }
|