38#ifndef INCLUDED_BLPAPI_REQUEST
39#define INCLUDED_BLPAPI_REQUEST
75#include <blpapi_deprecate.h>
87typedef struct blpapi_Request blpapi_Request_t;
104void blpapi_Request_destroy(blpapi_Request_t *request);
117blpapi_Element_t *blpapi_Request_elements(blpapi_Request_t *request);
131void blpapi_Request_setPreferredRoute(
132 blpapi_Request_t *request, blpapi_CorrelationId_t *correlationId);
151int blpapi_Request_getRequestId(
152 const blpapi_Request_t *request,
const char **requestId);
216 blpapi_Request_t *d_handle;
223 explicit Request(blpapi_Request_t *handle);
246 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
bool value);
253 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
char value);
260 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Int32 value);
267 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Int64 value);
274 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Float32 value);
281 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Float64 value);
288 BLPAPI_DEPRECATE_STRING_NAME
void set(
289 const char *name,
const Datetime& value);
296 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
const char *value);
303 void set(
const Name& name,
bool value);
308 void set(
const Name& name,
char value);
338 void set(
const Name& name,
const char *value);
343 void set(
const Name& name,
const std::string& value);
348 void set(
const Name& name,
const void *value, std::size_t length);
353 template <
typename BYTES,
354 typename std::enable_if<IsByteSequence<BYTES>::value,
bool>::type
356 void set(
const Name& name,
const BYTES& value);
361 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
bool value);
368 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
char value);
375 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Int32 value);
382 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Int64 value);
389 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Float32 value);
396 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Float64 value);
403 BLPAPI_DEPRECATE_STRING_NAME
void append(
404 const char *name,
const Datetime& value);
411 BLPAPI_DEPRECATE_STRING_NAME
void append(
412 const char *name,
const char *value);
454 void append(
const Name& name,
const char *value);
459 void append(
const Name& name,
const std::string& value);
482 const char *name)
const;
509 void fromJson(
const std::string& json);
534 blpapi_Request_t *handle()
const;
538 std::ostream& stream,
int level = 0,
int spacesPerLevel = 4)
const;
621 d_handle = newHandle;
623 d_elements.rebind(blpapi_Request_elements(newHandle));
631 d_handle = src->d_handle;
632 d_elements = src->d_elements;
634 src->d_elements.
rebind(0);
639 d_handle = src.d_handle;
640 d_elements = src.d_elements;
648 blpapi_Request_destroy(d_handle);
656 d_elements.setElement(
Name(element), value);
661 d_elements.setElement(
Name(element), value);
666 d_elements.setElement(
Name(element), value);
671 d_elements.setElement(
Name(element), value);
676 d_elements.setElement(
Name(element), value);
681 d_elements.setElement(
Name(element), value);
686 d_elements.setElement(
Name(element), value);
691 d_elements.setElement(
Name(element), value);
744 d_elements.setElement(element, value);
749 d_elements.setElement(element, value);
754 d_elements.setElement(element, value);
759 d_elements.setElement(element, value);
764 d_elements.setElement(element, value);
769 d_elements.setElement(element, value);
774 d_elements.setElement(element, value);
779 d_elements.setElement(element, value);
784 d_elements.setElement(element, value);
788 const Name& element,
const void *value, std::size_t length)
790 d_elements.setElement(element, value, length);
793template <
typename BYTES,
794 typename std::enable_if<IsByteSequence<BYTES>::value,
bool>::type>
797 d_elements.setElement(element, value);
887 const char *requestId = 0;
888 BLPAPI_CALL(blpapi_Request_getRequestId)(d_handle, &requestId);
893inline blpapi_Request_t *Request::handle()
const {
return d_handle; }
897 std::ostream& stream,
int level,
int spacesPerLevel)
const
899 return d_elements.print(stream, level, spacesPerLevel);
904 return request.
print(stream, 0, -1);
911 : d_request_p(request)
Provide a key to identify individual subscriptions or requests.
Common definitions used by the library.
Provide a representation of an item in a message.
Defines Exceptions that can be thrown by the blpapi library.
Provide a representation of strings for use as container keys.
Definition blpapi_datetime.h:312
Definition blpapi_element.h:1098
void rebind(blpapi_Element_t *element)
Definition blpapi_element.h:2255
int getElement(Element *result, const char *name) const
Definition blpapi_element.h:2565
void appendValue(bool value)
Definition blpapi_element.h:2471
void fromJson(const char *json)
Definition blpapi_element.h:3003
Definition blpapi_name.h:228
Definition blpapi_request.h:587
Request * ptr() const
Definition blpapi_request.h:915
RequestRef(Request *request_p)
Definition blpapi_request.h:910
Request * operator->() const
Definition blpapi_request.h:917
Definition blpapi_request.h:214
void append(const char *name, bool value)
Definition blpapi_request.h:694
std::ostream & print(std::ostream &stream, int level=0, int spacesPerLevel=4) const
Definition blpapi_request.h:896
void set(const char *name, bool value)
Definition blpapi_request.h:654
Element getElement(const char *name)
Definition blpapi_request.h:854
void fromJson(const char *json)
Definition blpapi_request.h:878
~Request()
Definition blpapi_request.h:645
Request(blpapi_Request_t *handle)
Definition blpapi_request.h:619
const char * getRequestId() const
Definition blpapi_request.h:885
Element asElement()
Definition blpapi_request.h:864
Definition blpapi_abstractsession.h:452
blpapi_Float64_t Float64
64-bit IEEE 754 float type alias.
Definition blpapi_types.h:559
blpapi_Float32_t Float32
32-bit IEEE 754 float type alias.
Definition blpapi_types.h:558
blpapi_Int64_t Int64
64-bit signed integer type alias.
Definition blpapi_types.h:556
std::ostream & operator<<(std::ostream &os, const CorrelationId &correlator)
Definition blpapi_correlationid.h:761
blpapi_Int32_t Int32
32-bit signed integer type alias.
Definition blpapi_types.h:554
Definition blpapi_abstractsession.h:451