Ejemplo n.º 1
0
c_bool
d_publisherSampleRequestWriterCopy(
    c_type type,
    void *data,
    void *to)
{
    c_bool result;
    c_ulong i;
    static c_type type3;
    d_sampleRequest msgFrom = d_sampleRequest(data);
    d_sampleRequest msgTo   = d_sampleRequest(to);
    c_base base             = c_getBase(type);

    result = d_publisherMessageWriterCopy(&msgFrom->parentMsg, &msgTo->parentMsg);

    msgTo->partition      = c_stringNew(base, msgFrom->partition);
    msgTo->topic          = c_stringNew(base, msgFrom->topic);
    msgTo->durabilityKind = msgFrom->durabilityKind;
    msgTo->requestTime    = msgFrom->requestTime;
    msgTo->withTimeRange  = msgFrom->withTimeRange;
    msgTo->beginTime      = msgFrom->beginTime;
    msgTo->endTime        = msgFrom->endTime;

    msgTo->source.systemId    = msgFrom->source.systemId;
    msgTo->source.localId     = msgFrom->source.localId;
    msgTo->source.lifecycleId = msgFrom->source.lifecycleId;

    if(msgFrom->filter){
        msgTo->filter = c_stringNew(base, msgFrom->filter);
    } else {
        msgTo->filter = NULL;
    }
    if(msgFrom->filterParams){
        if (type3 == NULL) {
            type3 = c_resolve(base, "c_string");
        }
        assert(type3 != NULL);
        msgTo->filterParamsCount = msgFrom->filterParamsCount;
        msgTo->filterParams = c_arrayNew(type3, msgFrom->filterParamsCount);


        for(i=0; i<msgFrom->filterParamsCount; i++){
            msgTo->filterParams[i] = c_stringNew(base, msgFrom->filterParams[i]);
        }
    }
    msgTo->maxSamples            = msgFrom->maxSamples;
    msgTo->maxInstances          = msgFrom->maxInstances;
    msgTo->maxSamplesPerInstance = msgFrom->maxSamplesPerInstance;

    return result;
}
Ejemplo n.º 2
0
d_sampleRequest
d_sampleRequestCopy(
    d_sampleRequest request)
{
    d_sampleRequest copy;
    c_ulong i;

    if(request){
        copy = d_sampleRequest(os_malloc(C_SIZEOF(d_sampleRequest)));

        d_messageSetAddressee(d_message(copy), &(d_message(request)->addressee));
        d_messageSetSenderAddress(d_message(copy), &(d_message(request)->senderAddress));
        d_message(copy)->senderState   = d_message(request)->senderState;

        copy->partition                = os_strdup(request->partition);
        copy->topic                    = os_strdup(request->topic);
        copy->durabilityKind           = request->durabilityKind;
        copy->requestTime              = request->requestTime;
        copy->withTimeRange            = request->withTimeRange;
        copy->beginTime                = request->beginTime;
        copy->endTime                  = request->endTime;
        copy->source.systemId          = request->source.systemId;
        copy->source.localId           = request->source.localId;
        copy->source.lifecycleId       = request->source.lifecycleId;

        if(request->filter){
            copy->filter               = os_strdup(request->filter);
        } else {
            copy->filter               = NULL;
        }

        if(request->filterParamsCount > 0){
            copy->filterParamsCount = request->filterParamsCount;
            copy->filterParams = (c_array)os_malloc(
                                request->filterParamsCount * sizeof(c_char*));

            for(i=0; i<request->filterParamsCount; i++){
                copy->filterParams[i]  = os_strdup(request->filterParams[i]);
            }
        } else {
            copy->filterParamsCount    = 0;
            copy->filterParams         = NULL;
        }
        copy->maxSamples               = request->maxSamples;
        copy->maxInstances             = request->maxInstances;
        copy->maxSamplesPerInstance    = request->maxSamplesPerInstance;
    } else {
        copy = NULL;
    }

    return copy;
}
Ejemplo n.º 3
0
d_sampleRequest
d_sampleRequestNew(
    d_admin admin,
    const c_char* partition,
    const c_char* topic,
    d_durabilityKind kind,
    d_timestamp requestTime,
    c_bool withTimeRange,
    d_timestamp beginTime,
    d_timestamp endTime)
{
    d_sampleRequest sampleRequest = NULL;

    if(admin){
        sampleRequest = d_sampleRequest(os_malloc(C_SIZEOF(d_sampleRequest)));
        d_messageInit(d_message(sampleRequest), admin);

        sampleRequest->partition                = os_strdup(partition);
        sampleRequest->topic                    = os_strdup(topic);
        sampleRequest->durabilityKind           = kind;
        sampleRequest->requestTime              = requestTime;
        sampleRequest->withTimeRange            = withTimeRange;
        sampleRequest->beginTime                = beginTime;
        sampleRequest->endTime                  = endTime;
        sampleRequest->source.systemId          = 0;
        sampleRequest->source.localId           = 0;
        sampleRequest->source.lifecycleId       = 0;
        sampleRequest->filter                   = NULL;
        sampleRequest->filterParams             = NULL;
        sampleRequest->filterParamsCount        = 0;
        sampleRequest->maxSamples               = -1;
        sampleRequest->maxInstances             = -1;
        sampleRequest->maxSamplesPerInstance    = -1;
    }
    return sampleRequest;
}