void CIMOperationRequestEncoder::_encodeModifyInstanceRequest(
    CIMModifyInstanceRequestMessage* message)
{
    Array<char> params;
    XmlWriter::appendNamedInstanceIParameter(
	params, "ModifiedInstance", message->modifiedInstance);
	
    if (message->includeQualifiers != true)
	XmlWriter::appendBooleanIParameter(
	    params, "IncludeQualifiers", false);

    if (!message->propertyList.isNull())
	XmlWriter::appendPropertyListIParameter(
	    params, message->propertyList);

    Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName, 
        message->nameSpace, CIMName ("ModifyInstance"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
         params);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeSetPropertyRequest(
    CIMSetPropertyRequestMessage* message)
{
    Array<char> params;

    XmlWriter::appendInstanceNameIParameter(
	params, "InstanceName", message->instanceName);
	
    XmlWriter::appendPropertyNameIParameter(
	params, message->propertyName);

    if (!message->newValue.isNull())
        XmlWriter::appendPropertyValueIParameter(
	    params, "NewValue", message->newValue);

    Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName, 
        message->nameSpace, CIMName ("SetProperty"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
         params);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeReferenceNamesRequest(
    CIMReferenceNamesRequestMessage* message)
{
    Array<char> params;

    XmlWriter::appendObjectNameIParameter(
	params, "ObjectName", message->objectName);

    XmlWriter::appendClassNameIParameter(
	params, "ResultClass", message->resultClass);

    //
    //  The Client API has no way to represent a NULL role;
    //  An empty string is interpreted as NULL
    //
    if (message->role != String::EMPTY)
    {
        XmlWriter::appendStringIParameter(
	    params, "Role", message->role);
    }

    Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("ReferenceNames"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
         params);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeEnumerateClassesRequest(
    CIMEnumerateClassesRequestMessage* message)
{
    Array<char> params;

    if (!message->className.isNull())
	XmlWriter::appendClassNameIParameter(
	    params, "ClassName", message->className);
	
    if (message->deepInheritance != false)
	XmlWriter::appendBooleanIParameter(params, "DeepInheritance", true);

    if (message->localOnly != true)
	XmlWriter::appendBooleanIParameter(params, "LocalOnly", false);

    if (message->includeQualifiers != true)
	XmlWriter::appendBooleanIParameter(
	    params, "IncludeQualifiers", false);

    if (message->includeClassOrigin != false)
	XmlWriter::appendBooleanIParameter(
	    params, "IncludeClassOrigin", true);

    Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("EnumerateClasses"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
         params);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeGetClassRequest(
    CIMGetClassRequestMessage* message)
{
    Buffer params;

    XmlWriter::appendClassNameIParameter(
        params, "ClassName", message->className);

    if (message->localOnly != true)
        XmlWriter::appendBooleanIParameter(params, "LocalOnly", false);

    if (message->includeQualifiers != true)
        XmlWriter::appendBooleanIParameter(params, "IncludeQualifiers", false);

    if (message->includeClassOrigin != false)
        XmlWriter::appendBooleanIParameter(params, "IncludeClassOrigin", true);

    if (!message->propertyList.isNull())
        XmlWriter::appendPropertyListIParameter(
            params, message->propertyList);

    Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(
        _hostName, message->nameSpace, CIMName ("GetClass"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
        ((AcceptLanguageListContainer)message->operationContext.get(
            AcceptLanguageListContainer::NAME)).getLanguages(),
        ((ContentLanguageListContainer)message->operationContext.get(
            ContentLanguageListContainer::NAME)).getLanguages(),
        params, _binaryResponse);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeAssociatorsRequest(
    CIMAssociatorsRequestMessage* message)
{
    Buffer params;

    XmlWriter::appendObjectNameIParameter(
        params, "ObjectName", message->objectName);

    XmlWriter::appendClassNameIParameter(
        params, "AssocClass", message->assocClass);

    XmlWriter::appendClassNameIParameter(
        params, "ResultClass", message->resultClass);

    //
    //  The Client API has no way to represent a NULL role;
    //  An empty string is interpreted as NULL
    //
    if (message->role != String::EMPTY)
    {
        XmlWriter::appendStringIParameter(
            params, "Role", message->role);
    }

    //
    //  The Client API has no way to represent a NULL resultRole;
    //  An empty string is interpreted as NULL
    //
    if (message->resultRole != String::EMPTY)
    {
        XmlWriter::appendStringIParameter(
            params, "ResultRole", message->resultRole);
    }

    if (message->includeQualifiers != false)
        XmlWriter::appendBooleanIParameter(params, "IncludeQualifiers", true);

    if (message->includeClassOrigin != false)
        XmlWriter::appendBooleanIParameter(params, "IncludeClassOrigin", true);

    if (!message->propertyList.isNull())
        XmlWriter::appendPropertyListIParameter(
            params, message->propertyList);

    Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("Associators"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
        ((AcceptLanguageListContainer)message->operationContext.get(
            AcceptLanguageListContainer::NAME)).getLanguages(),
        ((ContentLanguageListContainer)message->operationContext.get(
            ContentLanguageListContainer::NAME)).getLanguages(),
        params, _binaryResponse);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeInvokeMethodRequest(
    CIMInvokeMethodRequestMessage* message)
{
    Array<char> buffer = XmlWriter::formatSimpleMethodReqMessage(_hostName,
	message->nameSpace, message->instanceName, message->methodName,
	message->inParameters, message->messageId, 
	message->getHttpMethod(), _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages());
        
    _sendRequest(buffer);
}
/*
verify face to person
https://apicn.faceplusplus.com/v2/recognition/verify?api_secret=YOUR_API_SECRET&face_id=7fa73e35a15a0521739a5256d25b6e02&api_key=YOUR_API_KEY&person_name=FanBingBing
*/
int CRecognize::_verify(std::string faceId, std::string personName){
	std::string TrainVerfy = "/v2/recognition/verify?api_secret=";
	TrainVerfy += MY_API_SECRET;
	TrainVerfy += "&face_id=";
	TrainVerfy += faceId;
	TrainVerfy += "&api_key=";
	TrainVerfy += MY_API_KEY;
	TrainVerfy += "&person_name=";
	TrainVerfy += personName;
	_sendRequest(TrainVerfy.c_str());

	return 0;
}
/*
verify face from group
https://apicn.faceplusplus.com/v2/recognition/identify?url=http%3A%2F%2Ffaceplusplus.com%2Fstatic%2Fimg%2Fdemo%2F1.jpg&api_secret=YOUR_API_SECRET&api_key=YOUR_API_KEY&group_name=DemoGroup
*/
int CRecognize::_identify(std::string url, std::string groupName){
	std::string TrainIdentify = "/v2/recognition/identify?";
	TrainIdentify += "url=";
	TrainIdentify += url;
	TrainIdentify += "&api_secret=";
	TrainIdentify += MY_API_SECRET;

	TrainIdentify += "&api_key=";
	TrainIdentify += MY_API_KEY;
	TrainIdentify += "&group_name=";
	TrainIdentify += groupName;
	_sendRequest(TrainIdentify.c_str());

	return 0;
}
void CIMOperationRequestEncoder::_encodeEnumerateQualifiersRequest(
    CIMEnumerateQualifiersRequestMessage* message)
{
    Array<char> params;

    Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName, 
        message->nameSpace, CIMName ("EnumerateQualifiers"), message->messageId,
        message->getHttpMethod(), 
        _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
         params);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeCreateClassRequest(
    CIMCreateClassRequestMessage* message)
{
    Array<char> params;
    XmlWriter::appendClassIParameter(params, "NewClass", message->newClass);
	
	Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName, 
        message->nameSpace, CIMName ("CreateClass"), message->messageId,
        message->getHttpMethod(), 
        _authenticator->buildRequestAuthHeader(), 
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
        params);
    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeSetQualifierRequest(
    CIMSetQualifierRequestMessage* message)
{
    Array<char> params;
    XmlWriter::appendQualifierDeclarationIParameter(
	params, "QualifierDeclaration", message->qualifierDeclaration);

    Array<char> buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("SetQualifier"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
		((AcceptLanguageListContainer)message->operationContext.get(AcceptLanguageListContainer::NAME)).getLanguages(),
		((ContentLanguageListContainer)message->operationContext.get(ContentLanguageListContainer::NAME)).getLanguages(),
         params);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeDeleteInstanceRequest(
    CIMDeleteInstanceRequestMessage* message)
{
    Buffer params;

    XmlWriter::appendInstanceNameIParameter(
        params, "InstanceName", message->instanceName);

    Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("DeleteInstance"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
        ((AcceptLanguageListContainer)message->operationContext.get(
            AcceptLanguageListContainer::NAME)).getLanguages(),
        ((ContentLanguageListContainer)message->operationContext.get(
            ContentLanguageListContainer::NAME)).getLanguages(),
        params, _binaryResponse);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeDeleteQualifierRequest(
    CIMDeleteQualifierRequestMessage* message)
{
    Buffer params;

    if (!message->qualifierName.isNull())
        XmlWriter::appendStringIParameter(
            params, "QualifierName", message->qualifierName.getString());

    Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("DeleteQualifier"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
        ((AcceptLanguageListContainer)message->operationContext.get(
            AcceptLanguageListContainer::NAME)).getLanguages(),
        ((ContentLanguageListContainer)message->operationContext.get(
            ContentLanguageListContainer::NAME)).getLanguages(),
        params, _binaryResponse);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::_encodeEnumerateClassNamesRequest(
    CIMEnumerateClassNamesRequestMessage* message)
{
    Buffer params;

    if (!message->className.isNull())
        XmlWriter::appendClassNameIParameter(
            params, "ClassName", message->className);

    if (message->deepInheritance != false)
        XmlWriter::appendBooleanIParameter(params, "DeepInheritance", true);

    Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
        message->nameSpace, CIMName ("EnumerateClassNames"), message->messageId,
        message->getHttpMethod(),
        _authenticator->buildRequestAuthHeader(),
        ((AcceptLanguageListContainer)message->operationContext.get(
            AcceptLanguageListContainer::NAME)).getLanguages(),
        ((ContentLanguageListContainer)message->operationContext.get(
            ContentLanguageListContainer::NAME)).getLanguages(),
        params, _binaryResponse);

    _sendRequest(buffer);
}
void CIMOperationRequestEncoder::handleEnqueue()
{
    Message* message = dequeue();

    if (!message)
        return;

    _authenticator->setRequestMessage(message);

    //
    // Encode request as binary request.
    //

    if (_binaryRequest)
    {
        CIMOperationRequestMessage* msg =
            dynamic_cast<CIMOperationRequestMessage*>(message);

        if (msg)
        {
            Buffer buf;

            if (BinaryCodec::encodeRequest(buf, _hostName,
                _authenticator->buildRequestAuthHeader(), msg, _binaryResponse))
            {
                _sendRequest(buf);
                return;
            }

            // Drop through and encode as an XML request below.
        }
    }

    //
    // Encode request as an XML request.
    //

    switch (message->getType())
    {
        case CIM_CREATE_CLASS_REQUEST_MESSAGE:
            _encodeCreateClassRequest(
                (CIMCreateClassRequestMessage*)message);
            break;

        case CIM_GET_CLASS_REQUEST_MESSAGE:
            _encodeGetClassRequest((CIMGetClassRequestMessage*)message);
            break;

        case CIM_MODIFY_CLASS_REQUEST_MESSAGE:
            _encodeModifyClassRequest(
                (CIMModifyClassRequestMessage*)message);
            break;

        case CIM_ENUMERATE_CLASS_NAMES_REQUEST_MESSAGE:
            _encodeEnumerateClassNamesRequest(
                (CIMEnumerateClassNamesRequestMessage*)message);
            break;

        case CIM_ENUMERATE_CLASSES_REQUEST_MESSAGE:
            _encodeEnumerateClassesRequest(
                (CIMEnumerateClassesRequestMessage*)message);
            break;

        case CIM_DELETE_CLASS_REQUEST_MESSAGE:
            _encodeDeleteClassRequest(
                (CIMDeleteClassRequestMessage*)message);
            break;

        case CIM_CREATE_INSTANCE_REQUEST_MESSAGE:
            _encodeCreateInstanceRequest(
                (CIMCreateInstanceRequestMessage*)message);
            break;

        case CIM_GET_INSTANCE_REQUEST_MESSAGE:
            _encodeGetInstanceRequest((CIMGetInstanceRequestMessage*)message);
            break;

        case CIM_MODIFY_INSTANCE_REQUEST_MESSAGE:
            _encodeModifyInstanceRequest(
                (CIMModifyInstanceRequestMessage*)message);
            break;

        case CIM_ENUMERATE_INSTANCE_NAMES_REQUEST_MESSAGE:
            _encodeEnumerateInstanceNamesRequest(
                (CIMEnumerateInstanceNamesRequestMessage*)message);
            break;

        case CIM_ENUMERATE_INSTANCES_REQUEST_MESSAGE:
            _encodeEnumerateInstancesRequest(
                (CIMEnumerateInstancesRequestMessage*)message);
            break;

        case CIM_DELETE_INSTANCE_REQUEST_MESSAGE:
            _encodeDeleteInstanceRequest(
                (CIMDeleteInstanceRequestMessage*)message);
            break;

        case CIM_SET_QUALIFIER_REQUEST_MESSAGE:
            _encodeSetQualifierRequest(
                (CIMSetQualifierRequestMessage*)message);
            break;

        case CIM_GET_QUALIFIER_REQUEST_MESSAGE:
            _encodeGetQualifierRequest(
                (CIMGetQualifierRequestMessage*)message);
            break;

        case CIM_ENUMERATE_QUALIFIERS_REQUEST_MESSAGE:
            _encodeEnumerateQualifiersRequest(
                (CIMEnumerateQualifiersRequestMessage*)message);
            break;

        case CIM_DELETE_QUALIFIER_REQUEST_MESSAGE:
            _encodeDeleteQualifierRequest(
                (CIMDeleteQualifierRequestMessage*)message);
            break;

        case CIM_REFERENCE_NAMES_REQUEST_MESSAGE:
            _encodeReferenceNamesRequest(
                (CIMReferenceNamesRequestMessage*)message);
            break;

        case CIM_REFERENCES_REQUEST_MESSAGE:
            _encodeReferencesRequest(
                (CIMReferencesRequestMessage*)message);
            break;

        case CIM_ASSOCIATOR_NAMES_REQUEST_MESSAGE:
            _encodeAssociatorNamesRequest(
                (CIMAssociatorNamesRequestMessage*)message);
            break;

        case CIM_ASSOCIATORS_REQUEST_MESSAGE:
            _encodeAssociatorsRequest(
                (CIMAssociatorsRequestMessage*)message);
            break;

        case CIM_EXEC_QUERY_REQUEST_MESSAGE:
            _encodeExecQueryRequest(
                (CIMExecQueryRequestMessage*)message);
            break;

        case CIM_GET_PROPERTY_REQUEST_MESSAGE:
            _encodeGetPropertyRequest((CIMGetPropertyRequestMessage*)message);
            break;

        case CIM_SET_PROPERTY_REQUEST_MESSAGE:
            _encodeSetPropertyRequest((CIMSetPropertyRequestMessage*)message);
            break;

        case CIM_INVOKE_METHOD_REQUEST_MESSAGE:
            _encodeInvokeMethodRequest(
                (CIMInvokeMethodRequestMessage*)message);
            break;

        default:
            // Unexpected message type
            PEGASUS_ASSERT(0);
            break;
    }

    //ATTN: Do not delete the message here.
    //
    // ClientAuthenticator needs this message for resending the request on
    // authentication challenge from the server. The message is deleted in
    // the decoder after receiving the valid response from thr server.
    //
    //delete message;
}
Beispiel #17
0
void ApiCommunicator::fetchHddData(const QUrl &serverUrl) const
{
  QUrl endpoint = QUrl(serverUrl);
  endpoint.setPath("/hdd");
  _sendRequest(endpoint, &ApiCommunicator::hddDataReady);
}