bool PushInstallationSettings::strictCompare()

in host/config/pushInstallationSettings.cpp [26:84]


bool PushInstallationSettings::strictCompare(PushInstallationSettings & piSettings)
{
    if( ispushproxy != piSettings.ispushproxy )
    {
        return false;
    }
    if(m_maxPushInstallThreads != piSettings.m_maxPushInstallThreads)
    {
        return false;
    }
    if( piRequests.size() != piSettings.piRequests.size() )
    {
        return false;
    } 
    std::list<PushRequests>::iterator newPushRequestIter = piSettings.piRequests.begin();
    std::list<PushRequests>::iterator origPushRequestIter = piRequests.begin();

    while( origPushRequestIter != piRequests.end() )
    {
        if(  strcmp( newPushRequestIter->username.c_str(), origPushRequestIter->username.c_str() ) != 0
            || strcmp( newPushRequestIter->password.c_str(), origPushRequestIter->password.c_str() ) != 0
            || strcmp( newPushRequestIter->domain.c_str(), origPushRequestIter->domain.c_str() ) != 0
            || newPushRequestIter->prOptions.size() != origPushRequestIter->prOptions.size() )
        {
            return false;
        }
        std::list<PushRequestOptions>::iterator newPrOptionsIter = newPushRequestIter->prOptions.begin();
        std::list<PushRequestOptions>::iterator origPrOptionsIter = origPushRequestIter->prOptions.begin();
        
        while( origPrOptionsIter != origPushRequestIter->prOptions.end() )
        {
            if( strcmp( newPrOptionsIter->installation_path.c_str(), origPrOptionsIter->installation_path.c_str() ) != 0 
                || newPrOptionsIter->jobId.c_str(), origPrOptionsIter->jobId.c_str() != 0 
                || strcmp( newPrOptionsIter->ip.c_str(), origPrOptionsIter->ip.c_str() ) != 0
                || newPrOptionsIter->state != origPrOptionsIter->state
                || newPrOptionsIter->reboot_required != origPrOptionsIter->reboot_required
				|| newPrOptionsIter->vmType != origPrOptionsIter->vmType
				|| strcmp(newPrOptionsIter->vCenterIP.c_str(), origPrOptionsIter->vCenterIP.c_str()) != 0
				|| strcmp(newPrOptionsIter->vCenterUserName.c_str(), origPrOptionsIter->vCenterUserName.c_str()) != 0
				|| strcmp(newPrOptionsIter->vCenterPassword.c_str(), origPrOptionsIter->vCenterPassword.c_str()) != 0
				|| strcmp(newPrOptionsIter->vmName.c_str(), origPrOptionsIter->vmName.c_str()) != 0
				|| strcmp(newPrOptionsIter->vmAccountId.c_str(), origPrOptionsIter->vmAccountId.c_str()) != 0
				|| strcmp(newPrOptionsIter->vcenterAccountId.c_str(), origPrOptionsIter->vcenterAccountId.c_str()) != 0
				|| strcmp(newPrOptionsIter->ActivityId.c_str(), origPrOptionsIter->ActivityId.c_str()) != 0
				|| strcmp(newPrOptionsIter->ClientRequestId.c_str(), origPrOptionsIter->ClientRequestId.c_str()) != 0
				|| strcmp(newPrOptionsIter->ServiceActivityId.c_str(), origPrOptionsIter->ServiceActivityId.c_str()) != 0)
            {
                return false ;
            }
            newPrOptionsIter++;
            origPrOptionsIter++;
        }
        
        newPushRequestIter++;
        origPushRequestIter++;
    } 
    return true;
    
}