Exemplo n.º 1
0
ECode Proxy::GetProxy(
    /* [in] */ IContext* ctx,
    /* [in] */ const String& url,
    /* [out] */ Elastos::Net::IProxy** result)
{
    VALIDATE_NOT_NULL(result)

    String host("");
    if ((url != String(NULL)) && !IsLocalHost(host)) {
        AutoPtr<IURIHelper> helper;
        CURIHelper::AcquireSingleton((IURIHelper**)&helper);
        AutoPtr<IURI> uri;
        helper->Create(url, (IURI**)&uri);
        AutoPtr<IProxySelector> proxySelector;
        ProxySelector::GetDefault((IProxySelector**)&proxySelector);
        AutoPtr<IList> proxyList;
        proxySelector->Select(uri, (IList**)&proxyList);
        Int32 size;
        proxyList->GetSize(&size);
        if (size > 0) {
            AutoPtr<IInterface> obj;
            proxyList->Get(0, (IInterface**)&obj);
            *result = Elastos::Net::IProxy::Probe(obj);
            REFCOUNT_ADD(*result);
            return NOERROR;
        }
    }
    AutoPtr<Elastos::Net::IProxyHelper> helper;
    Elastos::Net::CProxyHelper::AcquireSingleton((Elastos::Net::IProxyHelper**)&helper);
    AutoPtr<Elastos::Net::IProxy> noPorxy;
    helper->GetNO_PROXY(result);
    return NOERROR;
}
Exemplo n.º 2
0
int CopyURL(HTTPSession *Session, char *From, char *To)
{
char *Tempstr=NULL, *Host=NULL, *PortStr=NULL, *FromPath=NULL, *ToPath=NULL, *User=NULL, *Password=NULL;
int RetVal=EFAULT;
STREAM *In=NULL, *Out=NULL;

ParseURL(To, &Tempstr, &Host, &Tempstr, NULL, NULL, &ToPath, NULL);

if ((access(ToPath,F_OK)==0) && (! (Session->Flags & SESSION_OVERWRITE))) RetVal=EEXIST;

//If the TO Host is local
if (IsLocalHost(Session,Host))
{
  ParseURL(From, &Tempstr, &Host, &PortStr, &User, &Password, &FromPath, NULL);

	if (! IsLocalHost(Session,Host)) 
	{
			In=HTTPGet(From,User,Password);
			if (In) Out=STREAMOpenFile(ToPath,SF_CREAT|SF_WRONLY|SF_TRUNC);
			if (Out) RetVal=STREAMSendFile(In, Out, 0, SENDFILE_KERNEL | SENDFILE_LOOP);
			STREAMClose(In);
			STREAMClose(Out);
	}
	else RetVal=CopyLocalItem(FromPath, ToPath);
}

DestroyString(User);
DestroyString(Password);
DestroyString(Tempstr);
DestroyString(Host);
DestroyString(PortStr);
DestroyString(FromPath);
DestroyString(ToPath);

return(RetVal);
}
Exemplo n.º 3
0
/**
* Return the proxy object to be used for the URL given as parameter.
* @param ctx A Context used to get the settings for the proxy host.
* @param url A URL to be accessed. Used to evaluate exclusion list.
* @return Proxy (java.net) object containing the host name. If the
*         user did not set a hostname it returns the default host.
*         A null value means that no host is to be used.
* {@hide}
*/
ECode CProxy::GetProxy(
    /* [in] */ IContext* ctx,
    /* [in] */ const String& url,
    /* [out] */ Elastos::Net::IProxy** outProxy)
{
    VALIDATE_NOT_NULL(outProxy);
    String host;
    if (!(url.IsNull()))
    {
        AutoPtr<IURI> uri;
        CURI::New((IURI**)&uri);
        if(uri != NULL)
            uri->GetHost(&host);
    }

    if (!IsLocalHost(host))
    {
        if (mConnectivityManager == NULL) {
            ctx->GetSystemService(IContext::CONNECTIVITY_SERVICE, (IInterface**)&mConnectivityManager);
        }
        if (mConnectivityManager == NULL) {
            return proxyhelper->GetNO_PROXY(outProxy);
        }
        AutoPtr<IProxyProperties> proxyProperties;
        mConnectivityManager->GetProxy((IProxyProperties**)&proxyProperties);

        if (proxyProperties != NULL) {
            Boolean bol;
            proxyProperties->IsExcluded(host, &bol);
            if (!bol) {
                return proxyProperties->MakeProxy(outProxy);
            }
        }
    }
    return proxyhelper->GetNO_PROXY(outProxy);
}
Exemplo n.º 4
0
BOOL MySqlMem(const char * strParas, char * szReturn, int& nSize)
{
	CString strReturn = "",
			strHost = _T(""), 
			strUser = _T(""), //UserName
			strPwd = _T("");// Password

	CStringList paramList;
	MakeStringListByChar(paramList,strParas);

    POSITION pos = paramList.GetHeadPosition();
	while(pos)
    {
        CString strTemp = paramList.GetNext(pos);
		if(strTemp.Find(__MACHINENAME__, 0) == 0)
		{//Get Host
			strHost = strTemp.Right(strTemp.GetLength() - (int)strlen(__MACHINENAME__));
		}
		else if(strTemp.Find(__WINUSERACCOUNT__, 0) == 0)
		{//Get Username
			strUser = strTemp.Right(strTemp.GetLength() - (int)strlen(__WINUSERACCOUNT__));
		}
        else if(strTemp.Find(__WINPASSWORD__, 0) == 0)
		{//Get password
			strPwd = strTemp.Right(strTemp.GetLength() - (int)strlen(__WINPASSWORD__));
		}
    }

	//ofstream fout("mysqltest.txt",ios::app);
	//fout << strHost<< ","<<strUser<< ","<<strPwd<< ","<<"\r\n"; 
	//fout << flush;
	//fout.close(); 
	CoInitialize(NULL);

	try 
	{ 
		WbemScripting::ISWbemLocatorPtr locator; 
		locator.CreateInstance(WbemScripting::CLSID_SWbemLocator);
		
		if (locator != NULL) 
		{ 
			WbemScripting::ISWbemServicesPtr services;
			if(IsLocalHost(strHost))
				services = locator->ConnectServer(".","root\\cimv2","","","","",0,NULL);
			else
				services = locator->ConnectServer((_bstr_t)strHost,"root\\cimv2",(_bstr_t)strUser,(_bstr_t)strPwd,"","",0,NULL);

			WbemScripting::ISWbemObjectSetPtr objects = services->InstancesOf("Win32_LogicalMemoryConfiguration", 0x10, NULL);
			IEnumVARIANTPtr obj_enum = objects->Get_NewEnum(); 
			ULONG fetched; 
			VARIANT var; 
			int nTotalPhyMem, nTotalVirMem;
			while (obj_enum->Next(1,&var,&fetched) == S_OK) 
			{ 
				WbemScripting::ISWbemObjectPtr object = var;
				WbemScripting::ISWbemPropertySetPtr properties = object->Properties_;
				WbemScripting::ISWbemPropertyPtr prop = properties->Item("TotalPhysicalMemory",0);
				_variant_t value = prop->GetValue();
				nTotalPhyMem = (int)value;
				prop = properties->Item("TotalVirtualMemory",0);
				value = prop->GetValue();
				nTotalVirMem = (int)value;
			} 

			_bstr_t com; 
			com="SELECT * FROM Win32_PerfRawData_PerfProc_Process WHERE NAME='mysqld-nt' or NAME='mysqld'"; 
			objects = services->ExecQuery(com,"WQL",0x10,NULL); 
			obj_enum = objects->Get_NewEnum(); 
			while (obj_enum->Next(1,&var,&fetched) == S_OK) 
			{ 
				WbemScripting::ISWbemObjectPtr object = var;
				WbemScripting::ISWbemPropertySetPtr properties = object->Properties_;
				WbemScripting::ISWbemPropertyPtr prop = properties->Item("WorkingSet",0);
				_variant_t value = prop->GetValue();
				int nPhyMem = (int)value/1024;
				prop = properties->Item("PrivateBytes",0);
				value = prop->GetValue();
				int nVirMem = (int)value/1024;
				float fMySqlPhyMemUsage, fMySqlVirMemUsage;
				fMySqlPhyMemUsage = (float)nPhyMem/(float)nTotalPhyMem*100;
				fMySqlVirMemUsage = (float)nVirMem/(float)nTotalVirMem*100;
				strReturn.Format("MySqlPhyMem=%d$MySqlVirMem=%d$MySqlPhyMemUsage=%.2f$MySqlVirMemUsage=%.2f$TotalPhyMem=%d$TotalVirMem=%d$", 
					nPhyMem, nVirMem, fMySqlPhyMemUsage, fMySqlVirMemUsage, nTotalPhyMem, nTotalVirMem);
			} 
			if(strReturn == "")
			{
				sprintf(szReturn, "error=MySql is not run on this server!");
				return FALSE;
			}
		} 
	} 
	catch (_com_error err) 
	{ 
		char buf[200] = {0};
		IErrorInfo * ei = err.ErrorInfo();
		BSTR strDesEI;
		ei->GetDescription(&strDesEI);
		sprintf(szReturn, "error=Error ocured:%x: %s", (unsigned)err.Error(),_com_util::ConvertBSTRToString(strDesEI));
		return FALSE;
	} 
	catch(...) 
	{ 
		sprintf(szReturn, "error=Error ocured: %d",::GetLastError());
		return FALSE;
	} 
	
	strcpy(szReturn,strReturn);
	CString strOutRet;
	strOutRet =szReturn;
	nSize = 2048;
	MakeCharByString(szReturn,nSize,strOutRet);	 
	
	CoUninitialize();

	return TRUE;
}