Esempio n. 1
0
int GetQuotaData()
{
    GetConnect();
    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, "GET /v5.0/me/skydrive/quota?access_token=");
    strcat(client_request, api_access_token);
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n\r\n");
 //   printf("%s\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
  //  printf("sned success!\n");

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
  //  printf("recv success!\n");
    GetQuotaDataFromRespones();

    CloseConnect();
    return 0;
}
Esempio n. 2
0
int Trade_DisEntrust(tagTradeReqDisEntrust *pReqDisEntrust, char *errmsg, int len)
{
	if (pReqDisEntrust == NULL)
	{
		return -1;
	}	

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqDisEntrust->UserID);
	YTData_AddFieldInt(datahandle, "accountid", pReqDisEntrust->AccID);
	YTData_AddFieldInt(datahandle, "entrustdate", pReqDisEntrust->EntrustDate);
	YTData_AddFieldString(datahandle, "entrustno", pReqDisEntrust->EntrustNo);
	YTData_AddFieldString(datahandle, "exchange", pReqDisEntrust->ExchangeID);
	//YTData_AddFieldString(datahandle, "uplimitflag", pReqEntrust->);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100108,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 3
0
int Trade_DisAllEntrust(tagTradeReqDisAllEntrust *pReqDisAllEntrust, char *errmsg, int len)
{
	if (pReqDisAllEntrust == NULL)
	{
		return -1;
	}	

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqDisAllEntrust->UserID);
	YTData_AddFieldInt(datahandle, "accountid", pReqDisAllEntrust->AccID);
	YTData_AddFieldString(datahandle, "symbol", pReqDisAllEntrust->InstrumentID);
	YTData_AddFieldString(datahandle, "exchange", pReqDisAllEntrust->ExchangeID);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100110,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 4
0
int Trade_Entrust(tagTradeReqEntrust *pReqEntrust, char *errmsg, int len)
{
	if (pReqEntrust == NULL)
	{
		return -1;
	}

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqEntrust->UserID);
	YTData_AddFieldInt(datahandle, "accountid", pReqEntrust->AccID);
	YTData_AddFieldString(datahandle, "side", &(pReqEntrust->EntrustType));
	YTData_AddFieldString(datahandle, "symbol", pReqEntrust->InstrumentID);
	YTData_AddFieldString(datahandle, "cname", pReqEntrust->InstrumentName);
	YTData_AddFieldString(datahandle, "exchange", pReqEntrust->ExchangeID);
	YTData_AddFieldDouble(datahandle, "price", pReqEntrust->EntrustPrice);
	YTData_AddFieldInt(datahandle, "entrustamount", pReqEntrust->EntrustAmount);
	//YTData_AddFieldString(datahandle, "uplimitflag", pReqEntrust->);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100107,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 5
0
int Trade_QuCollectBargain(tagTradeReqQuCollectBargain *pReqQuCollectBargain, char *errmsg, int len)
{
	if (pReqQuCollectBargain == NULL)
	{
		return -1;
	}	

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqQuCollectBargain->UserID);
	YTData_AddFieldInt(datahandle, "begindate", pReqQuCollectBargain->BeginDate);
	YTData_AddFieldInt(datahandle, "enddate", pReqQuCollectBargain->EndDate);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100106,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 6
0
int Trade_QuPosition(tagTradeReqQuPosition *pReqQuPosition, char *errmsg, int len)
{
	if (pReqQuPosition == NULL)
	{
		return -1;
	}

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqQuPosition->UserID);
	YTData_AddFieldInt(datahandle, "accountid", pReqQuPosition->AccID);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100104,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 7
0
int Trade_QuLog(tagTradeReqQuLog *pReqQuLog, char *errmsg, int len)
{
	if (pReqQuLog == NULL)
	{
		return -1;
	}	

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqQuLog->UserID);
	YTData_AddFieldInt(datahandle, "qryindex", pReqQuLog->Index);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100103,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 8
0
int Trade_QuUnFinishEntrust(tagTradeReqQuUnFinishEntrust *pReqQuUnFinishEntrust, char *errmsg, int len)
{
	if (pReqQuUnFinishEntrust == NULL)
	{
		return -1;
	}	

	void * datahandle = YTData_NewData();
	if(datahandle == NULL)
	{
		return -4;
	}
	YTData_AppendRow(datahandle);
	YTData_AddFieldInt(datahandle, "userid", pReqQuUnFinishEntrust->UserID);
	YTData_AddFieldInt(datahandle, "lasttime", pReqQuUnFinishEntrust->LastUpdateTime);

	void* conn = GetConnect();
	if (conn == NULL)
	{
		return -3;
	}
	else
	{
		int irtn = SendData(datahandle,100102,conn);
		PutConnect(conn);
		return irtn;
	}
}
Esempio n. 9
0
int download(char *service_name)
{
    char *location,*location_tmp;

    GetConnect();
    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, "GET /v5.0/");
    strcat(client_request, service_name);
    strcat(client_request, "/content?download=true&access_token=");
    strcat(client_request, api_access_token);
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n\r\n");
  //  printf("%s\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
//    printf("sned success!\n");

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
//    printf("recv success!\n");
//    printf("%s\n\n",service_respones);
    for(location = service_respones; *location != '\0'; location++)
    {
        if(*location == '\n')
        {
            location++;
            if(strncmp(location, "Location", 8) == 0)
                break;
        }
    }
    location+=10;
    for(location_tmp = location; *location_tmp != '\r'; location_tmp++);
    for(; *location_tmp !='?'; location_tmp--);
    *location_tmp = '\0';
    location-=strlen("wget --no-check-certificate ");
    strncpy(location, "wget --no-check-certificate ",strlen("wget --no-check-certificate "));
   // printf("%s",location);
    system(location);

    CloseConnect();
    FreeFileData(FileMes);
    GetFileData();
    return 0;
}
Esempio n. 10
0
int upload(char *client_name,char *service_name)
{
    int file_fd;
    char file_data[REQUESTSIZE - NAMESIZE];
    int buf_size;

    GetConnect();
    file_fd = open(client_name, O_RDONLY);
    buf_size = read(file_fd, file_data, REQUESTSIZE - NAMESIZE);
    sprintf(tem_buf, "%d", buf_size);

    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, "PUT /v5.0/me/skydrive/files/");
    strcat(client_request, service_name);
    strcat(client_request, "?access_token=");
    strcat(client_request, api_access_token);
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n");
 //   strcat(client_request, "Content-Type:application/octet-stream\r\n");
    strcat(client_request, "Content-Length:");
    strcat(client_request, tem_buf);
    strcat(client_request, "\r\n\r\n");
    strcat(client_request, file_data);
  //  printf("\n\n%s\n\n\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
 //   printf("sned success!\n");
 //   printf("%s\n", client_request);

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
 //   printf("recv success!\n");
 //   printf("%s\n", service_respones);

    close(file_fd);
    CloseConnect();

    FreeFileData(FileMes);
    GetFileData();
    return 0;
}
Esempio n. 11
0
int move_copy(char *operation,char *path1, char *path2)
{
    GetConnect();

    memset(client_request_date, 0, REQUESTSIZE);
    strcat(client_request_date, "destination=");
    strcat(client_request_date, path2);

    sprintf(tem_buf ,"%d" ,strlen(client_request_date));

    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, operation);
    strcat(client_request, " /v5.0/");
    strcat(client_request, path1);
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n");
    strcat(client_request, "Authorization: Bearer ");
    strcat(client_request, api_access_token);
    strcat(client_request, "\r\n");
    strcat(client_request, "Content-type:application/x-www-form-urlencoded\r\n");
    strcat(client_request, "Content-Length:");
    strcat(client_request, tem_buf);
    strcat(client_request, "\r\n\r\n");
    strcat(client_request, client_request_date);
 //   printf("%s\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
 //   printf("sned success!\n");

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
 //   printf("recv success!\n");
  //  printf("%s\n",service_respones);

    CloseConnect();
    FreeFileData(FileMes);
    GetFileData();
    return 0;
}
Esempio n. 12
0
int createfolder(const char *name)
{
    GetConnect();

    memset(client_request_date, 0, REQUESTSIZE);
  //  strcat(client_request_date, "type=folder");
    strcat(client_request_date, "name=");
    strcat(client_request_date, name);

    sprintf(tem_buf ,"%d" ,strlen(client_request_date));

    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, "POST /v5.0/me/skydrive");
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n");
    strcat(client_request, "Authorization: Bearer ");
    strcat(client_request, api_access_token);
    strcat(client_request, "\r\n");
    strcat(client_request, "Content-type:application/x-www-form-urlencoded\r\n");
    strcat(client_request, "Content-Length:");
    strcat(client_request, tem_buf);
    strcat(client_request, "\r\n\r\n");
    strcat(client_request, client_request_date);
//    printf("%s\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
 //   printf("sned success!\n");

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
//    printf("recv success!\n");
//    printf("%s\n",service_respones);

    CloseConnect();
    FreeFileData(FileMes);
    GetFileData();
    return 0;
}
Esempio n. 13
0
int TCPSocket::CreateTCPClientReceiverMode() {
	sprintf(Message, "Client: Initiating TCP Client...\n");
	easyLog("bold");
	addrinfo *ai;
	if (AppStat)
		FlushAll();
	if ((ai = GetAddrInfo()) == NULL)
		return 1; //Error On Getting Address Information
	if (GetConnect(ai))
		return 2; //Error On Connectiong To Server
	if (Login())
		return 3;
	sprintf(Message, "Client Ready: TCP Receiver Mode started...\n");
	easyLog("bold");
	AppStat = true;
	ClientReceiverMode();
	return 0;
}
Esempio n. 14
0
int deletefile(char *path)
{
    GetConnect();

    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, "DELETE /v5.0/");
    strcat(client_request, path);
    strcat(client_request, "?access_token=");
    strcat(client_request, api_access_token);
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n\r\n");
 //   printf("%s\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
 //   printf("sned success!\n");

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
 //   printf("recv success!\n");
 //   printf("%s\n",service_respones);

    CloseConnect();
    FreeFileData(FileMes);
    GetFileData();
    return 0;
}
Esempio n. 15
0
int GetFolderInfo(struct FileData* Folder)
{
    GetConnect();
    memset(client_request, 0, REQUESTSIZE);
    strcat(client_request, "GET /v5.0/");
    strcat(client_request, Folder->id);
    strcat(client_request, "/files?access_token=");
    strcat(client_request, api_access_token);
    strcat(client_request, " HTTP/1.1\r\n");
    strcat(client_request, "HOST: apis.live.net\r\n\r\n");
 //   printf("%s\n",client_request);

    if((SSL_write(ssl, client_request, strlen(client_request))) == -1)
    {
        printf("send fail.\n");
        return -1;
    }
 //   printf("sned success!\n");

    memset(service_respones, 0, REQUESTSIZE);
    if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1)
    {
        printf("recv faile.\n");
        return -1;
    }
    else if(state == 0)
    {
        printf("No available data.\n");
  //      return -1;
    }
 //   printf("recv success!\n");
 //   printf("%s\n",service_respones);
    GetFolderInfoFromRespones(Folder);

    CloseConnect();
    return 0;
}
Esempio n. 16
0
BOOL CFoxBase::CopyTo(LPCTSTR pSourceTable, LPCTSTR pDestinationTable)
{
	CString SourceTable,DestinationTable;
	CString SQL;
	_RecordsetPtr IRecordS,IRecordD;
	FieldsPtr IFields;
	FieldPtr IField;

	if(pSourceTable==NULL || pDestinationTable==NULL)
	{
		ExceptionInfo(_T("Source table or destination table cann't be empty"));
		return FALSE;
	}

	SourceTable=pSourceTable;
	DestinationTable=pDestinationTable;

	SourceTable.TrimLeft();
	SourceTable.TrimRight();
	DestinationTable.TrimLeft();
	DestinationTable.TrimRight();

	if(SourceTable.IsEmpty() || DestinationTable.IsEmpty())
	{
		ExceptionInfo(_T("Source table or destination table cann't be empty"));
		return FALSE;
	}

	try
	{
		IRecordS.CreateInstance(__uuidof(Recordset));

		IRecordS->Open(_variant_t(pSourceTable),_variant_t((IDispatch*)GetConnect()),	
					  adOpenKeyset,adLockOptimistic,adCmdTable);
	}
	catch(_com_error &e)
	{
		ExceptionInfo(e);
		return FALSE;
	}
	
	SQL=CreateTableSQL(IRecordS,pDestinationTable);

	if(SQL.IsEmpty())
	{
		return FALSE;
	}

	try
	{
		GetConnect()->Execute(_bstr_t(SQL),NULL,adExecuteNoRecords);
	}
	catch(_com_error &e)
	{
		ExceptionInfo(e);
		return FALSE;
	}

	try
	{
		IRecordD.CreateInstance(__uuidof(Recordset));

		IRecordD->Open(_variant_t(pDestinationTable),_variant_t((IDispatch*)GetConnect()),	
					  adOpenKeyset,adLockOptimistic,adCmdTable);
	}
	catch(_com_error &e)
	{
		ExceptionInfo(e);
		return FALSE;
	}

	if(!CopyData(IRecordS,IRecordD))
	{
		return FALSE;
	}

	return TRUE;
}
Esempio n. 17
0
BOOL COpenFileTask::Run()
{
	if (m_strLocalFile.IsEmpty() && !m_FileInfo.m_strFileId.IsEmpty())
		m_strOpenType = "netdisk";
	else if (!m_strLocalFile.IsEmpty() && m_FileInfo.m_strFileId.IsEmpty())
		m_strOpenType = "local";

	else if (m_strLocalFile.IsEmpty() && m_FileInfo.m_strFileId.IsEmpty())
	{
		m_strErrMsg = "参数错误!";
		m_bFlag = FALSE;
		return FALSE;
	}

	SOCKET sockConn = GetConnect(theApp.m_strServerIp);
	if (sockConn==0)
	{
		m_strErrMsg = "连接服务器失败!";
		m_bFlag = FALSE;
		return FALSE;
	}

	CString strDestFile = m_strLocalFile;
	if (m_strOpenType == "netdisk")
	{
		strDestFile = theApp.m_strCacheDir + "\\" + theApp.m_strUsrId + m_FileInfo.m_strNetDiskPath;
		strDestFile.Replace("/","\\");
		BOOL bNeedDownload = TRUE;
		if (PathFileExists(strDestFile))
		{
			long long iLocalFileSize = FileSize(strDestFile);
			CString strLocalFileSize  = TransferFileSize(iLocalFileSize);
			if (strLocalFileSize.Compare(m_FileInfo.m_strFileSize)==0)
			{
				string strLocalMd5 = GetMD5(strDestFile);
				if (strLocalFileSize.CompareNoCase(m_FileInfo.m_strFileSize)==0)
					bNeedDownload = FALSE;
			}
			if (bNeedDownload)
				remove(strDestFile);
		}

		MakeSureDirectoryPathExists(strDestFile);
		if (bNeedDownload && !DownToClient(sockConn,m_FileInfo.m_strFileId,strDestFile))
			return FALSE;
	}

	SHELLEXECUTEINFO ShExecInfo = {0};
	ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
	ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS|SEE_MASK_FLAG_NO_UI;
	ShExecInfo.hwnd = NULL;
	ShExecInfo.lpVerb = "Open";
	ShExecInfo.lpFile = strDestFile;        
	ShExecInfo.lpParameters = NULL;  
	ShExecInfo.lpDirectory = NULL;
	ShExecInfo.nShow = SW_SHOW;
	ShExecInfo.hInstApp = NULL;	
	ShellExecuteEx(&ShExecInfo);

	static string strSysVer = "";
	if (strSysVer.empty())
	{
		OSVERSIONINFO   osversioninfo;
		osversioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
		GetVersionEx(&osversioninfo);
		if( (osversioninfo.dwMajorVersion == 5) && (osversioninfo.dwMinorVersion == 1)) 
			strSysVer = "xp";
		
		else if( (osversioninfo.dwMajorVersion == 6) && (osversioninfo.dwMinorVersion == 1))
			strSysVer =  "win7";

		else if( (osversioninfo.dwMajorVersion == 6) && (osversioninfo.dwMinorVersion == 2))
			strSysVer =  "win8";
		else
			strSysVer =  "other";

	}

	if ("xp" == strSysVer)
	{
		//解决xp机器上打开多个word、excel文件失败的问题
		CString strFile = strDestFile;
		strFile.MakeLower();
		if (  strFile.Right(4)==".doc" 
			|| strFile.Right(4)==".xls" 
			|| strFile.Right(4)==".ppt"
			|| strFile.Right(5)==".docx"
			|| strFile.Right(5)==".xlsx"
			|| strFile.Right(5)==".pptx")
		{
			Sleep(1000);
		}
	}
	int iCode = (int)ShExecInfo.hInstApp;
	if ((int)ShExecInfo.hInstApp > 32)
		return TRUE;
	else
	{
		DWORD dErrCode = GetLastError();
		if (dErrCode==1155)
		{
			ShExecInfo.lpVerb = "OpenAs";
			ShExecInfo.hInstApp = NULL;
			BOOL bOK = ShellExecuteEx(&ShExecInfo);
			LogMsg("Openfile 未找到关联程序,使用OpenAs模式由用户选择关联程序");
	
			if(!bOK)
			{
				CString strCmd;
				strCmd.Format("rundll32 shell32, OpenAs_RunDLL  %s", strDestFile);
				WinExec(strCmd, SW_SHOWNORMAL); //手动执行打开选择关联方式对话框
				return TRUE;
			}

			return TRUE; //返回真,外部可以根据hOut是否为NULL判断是否是OpenAs模式
		}
		return FALSE;
	}

	return TRUE;
}
Esempio n. 18
0
void L2Agent::Send( shared_ptr<L2Packet> _pack )
{
    if( GetConnect() == false ) return;
    SOCKET->SendTCP( OID, _pack);
}
BOOL CUploadDirRecusion::UploadDirRecusion(CString strDir,CString strNetDiskDir)
{
	CString strWildCard  = strDir;
	strWildCard +="\\*.*";
	CFileFind finder;
	BOOL bFind = FALSE;
	// 查找文件
	BOOL bErrOccured = FALSE;
	bFind = finder.FindFile(strWildCard);
	while(bFind)
	{
		// 查找下一个文件
		bFind = finder.FindNextFile();
		if (finder.IsDots())
			continue;
		//找到文件的路径
		CString strPathName = finder.GetFilePath();
		CString strItemName = finder.GetFileName();
		if (finder.IsDirectory())
		{
			SOCKET sockClent = GetConnect(theApp.m_strServerIp);
			if (sockClent == 0)
			{
				LogMsg("连接服务器失败!");
				continue;
			}
			string strErrMsg;
			if (!CreateNetDiskDir(sockClent,theApp.m_strUsrId,strItemName,strNetDiskDir,strErrMsg))
			{
				LogMsg("上传目录【%s】失败!",strItemName);
				continue;
			}
			UploadDirRecusion(strPathName,strNetDiskDir + strItemName + "/");
		}
		else
		{
			CFileInfo info;
			if (!GetFileInfo(strPathName,info,TRUE))
			{
				LogMsg("获取文件基本信息失败,调过上传!",strPathName);
				continue;
			}

			info.m_strLocalPath   = strPathName;
			info.m_strNetDiskPath = strNetDiskDir + info.m_strName;

			CUploadTask uploadTask(strNetDiskDir,info,strPathName);
			if (!thePoolManager.AddTask(uploadTask))
			{
				CString strMsg;
				strMsg.Format("文件\"%s\"前一操作尚未完成,调过上传!",strPathName);
				LogMsg(strMsg);
				continue;
			}
			SerializationManager.AddUploadTaskHistory(theApp.m_strUsrId,info);
			theApp.m_pPageNetDisk->AddRunningUploadTaskIdList(uploadTask.GetTaskId());
		}
	}
	finder.Close();
	return TRUE;
}
Esempio n. 20
0
void CChatControl::Timer()
{
	int ChatConnects = 0;

	
	if(m_TryUltraCache > 0)
		m_TryUltraCache--;

	if(m_ServerList.size() == 0)
		m_UltraCacheMode = false;


	// Manage connected chat servers
	std::vector<CChatServer*>::iterator itServer;
	for(itServer = m_ServerList.begin(); itServer != m_ServerList.end(); itServer++)
	{
		if((*itServer)->m_Status == SOCK_CONNECTED)
		{
			ChatConnects++;
		}
		else
		{
			if((*itServer)->m_SecsDead > 5)
			{
				RemoveServer(*itServer);
				itServer--;
			}
			else
				(*itServer)->m_SecsDead++;
		}
	}



	// Send a connect request if we're connected and in the cache channel
	if(ChatConnects)
		if(m_UltraCacheMode)
		{
			if(m_SecsRequest > 50)
				m_SecsRequest = SendRequest() ? 0 : 50;
			else
				m_SecsRequest++;
		}


	// Chat window open
	if(m_pDoc->m_pViewChat)
	{
		if(m_AutoConnect)
		{
			bool ChatConnect = false;

			for(int i = 0; i < m_ServerList.size(); i++)
				if(m_ServerList[i]->m_Host == "irc.freenode.net")
					ChatConnect = true;

			if(!ChatConnect)
				GetConnect();
		}
	}

	// Chat window not open
	else if(m_AutoConnect)
	{
		if(ChatConnects)
		{
			if(!m_UltraCacheMode && m_TryUltraCache == 0)
				if(m_autNetwork->ClientMode() == CLIENT_LEAF || m_autPrefs->GetMinConnects() != -1 && m_autNetwork->GetNormalConnectedCount() >= m_autPrefs->GetMinConnects())
					RemoveServer( m_ServerList[0] );
		}
		else
		{
			if(m_autNetwork->GetNormalConnectedCount() == 0)
				GetConnect();

			m_UltraCacheMode = false;
			m_TryUltraCache  = 0;
		}
	}

	// Clean Chat Sockets
	std::vector<CChatServer*>::iterator itChat;
	for(itChat = m_ServerList.begin(); itChat != m_ServerList.end(); itChat++)
		if((*itChat)->m_Status == SOCK_CLOSED)
		{
			delete *itChat;
			m_ServerList.erase(itChat);

			itChat--;
		}

	// Remove old ident connects
	std::vector<CChatIdentd*>::iterator itIdent;
	for(itIdent = m_IdentdList.begin(); itIdent != m_IdentdList.end(); itIdent++)
	{
		(*itIdent)->m_SecsAlive++;

		if((*itIdent)->m_SecsAlive >= 10)
		{
			delete *itIdent;
			m_IdentdList.erase(itIdent);

			itIdent--;
		}
	}

}