36#ifndef INCLUDED_BLPAPI_REQUEST
37#define INCLUDED_BLPAPI_REQUEST
70#include <blpapi_deprecate.h>
82typedef struct blpapi_Request blpapi_Request_t;
89void blpapi_Request_destroy(blpapi_Request_t *request);
92blpapi_Element_t *blpapi_Request_elements(blpapi_Request_t *request);
95void blpapi_Request_setPreferredRoute(
96 blpapi_Request_t *request, blpapi_CorrelationId_t *correlationId);
99int blpapi_Request_getRequestId(
100 const blpapi_Request_t *request,
const char **requestId);
165 blpapi_Request_t *d_handle;
188 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
bool value);
193 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
char value);
198 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Int32 value);
203 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Int64 value);
208 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Float32 value);
213 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
Float64 value);
218 BLPAPI_DEPRECATE_STRING_NAME
void set(
219 const char *name,
const Datetime& value);
224 BLPAPI_DEPRECATE_STRING_NAME
void set(
const char *name,
const char *value);
229 void set(
const Name& name,
bool value);
234 void set(
const Name& name,
char value);
264 void set(
const Name& name,
const char *value);
269 void set(
const Name& name,
const std::string& value);
274 void set(
const Name& name,
const void *value, std::size_t length);
279 template <
typename BYTES,
280 typename std::enable_if<IsByteSequence<BYTES>::value,
bool>::type
282 void set(
const Name& name,
const BYTES& value);
287 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
bool value);
292 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
char value);
297 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Int32 value);
302 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Int64 value);
307 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Float32 value);
312 BLPAPI_DEPRECATE_STRING_NAME
void append(
const char *name,
Float64 value);
317 BLPAPI_DEPRECATE_STRING_NAME
void append(
318 const char *name,
const Datetime& value);
323 BLPAPI_DEPRECATE_STRING_NAME
void append(
324 const char *name,
const char *value);
364 void append(
const Name& name,
const char *value);
369 void append(
const Name& name,
const std::string& value);
390 const char *name)
const;
415 void fromJson(
const std::string& json);
439 blpapi_Request_t *
handle()
const;
442 std::ostream& stream,
int level = 0,
int spacesPerLevel = 4)
const;
492 d_handle = newHandle;
494 d_elements.rebind(blpapi_Request_elements(newHandle));
502 d_handle = src->d_handle;
503 d_elements = src->d_elements;
505 src->d_elements.
rebind(0);
510 d_handle = src.d_handle;
511 d_elements = src.d_elements;
519 blpapi_Request_destroy(d_handle);
527 d_elements.setElement(
Name(element), value);
532 d_elements.setElement(
Name(element), value);
537 d_elements.setElement(
Name(element), value);
542 d_elements.setElement(
Name(element), value);
547 d_elements.setElement(
Name(element), value);
552 d_elements.setElement(
Name(element), value);
557 d_elements.setElement(
Name(element), value);
562 d_elements.setElement(
Name(element), value);
615 d_elements.setElement(element, value);
620 d_elements.setElement(element, value);
625 d_elements.setElement(element, value);
630 d_elements.setElement(element, value);
635 d_elements.setElement(element, value);
640 d_elements.setElement(element, value);
645 d_elements.setElement(element, value);
650 d_elements.setElement(element, value);
655 d_elements.setElement(element, value);
659 const Name& element,
const void *value, std::size_t length)
661 d_elements.setElement(element, value, length);
664template <
typename BYTES,
665 typename std::enable_if<IsByteSequence<BYTES>::value,
bool>::type>
668 d_elements.setElement(element, value);
758 const char *requestId = 0;
759 BLPAPI_CALL(blpapi_Request_getRequestId)(d_handle, &requestId);
766 std::ostream& stream,
int level,
int spacesPerLevel)
const
768 return d_elements.print(stream, level, spacesPerLevel);
773 return request.
print(stream, 0, -1);
780 : d_request_p(request)
#define BLPAPI_CALL(FUNCNAME)
Definition blpapi_call.h:361
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:273
Definition blpapi_element.h:1167
void rebind(blpapi_Element_t *element)
Definition blpapi_element.h:2334
int getElement(Element *result, const char *name) const
Definition blpapi_element.h:2642
void appendValue(bool value)
Definition blpapi_element.h:2550
void fromJson(const char *json)
Definition blpapi_element.h:3078
Definition blpapi_name.h:242
Definition blpapi_request.h:473
Request * ptr() const
Definition blpapi_request.h:784
RequestRef(Request *request_p)
Definition blpapi_request.h:779
Request * operator->() const
Definition blpapi_request.h:786
Definition blpapi_request.h:163
void append(const char *name, bool value)
Definition blpapi_request.h:565
blpapi_Request_t * handle() const
Definition blpapi_request.h:763
std::ostream & print(std::ostream &stream, int level=0, int spacesPerLevel=4) const
Definition blpapi_request.h:765
void set(const char *name, bool value)
Definition blpapi_request.h:525
Element getElement(const char *name)
Definition blpapi_request.h:725
void fromJson(const char *json)
Definition blpapi_request.h:749
~Request()
Definition blpapi_request.h:516
Request(blpapi_Request_t *handle)
Definition blpapi_request.h:490
const char * getRequestId() const
Definition blpapi_request.h:756
Element asElement()
Definition blpapi_request.h:735
Definition blpapi_abstractsession.h:212
blpapi_Float64_t Float64
Definition blpapi_types.h:485
blpapi_Float32_t Float32
Definition blpapi_types.h:484
blpapi_Int64_t Int64
Definition blpapi_types.h:482
std::ostream & operator<<(std::ostream &os, const CorrelationId &correlator)
Definition blpapi_correlationid.h:680
blpapi_Int32_t Int32
Definition blpapi_types.h:480
Definition blpapi_abstractsession.h:211