38#ifndef INCLUDED_BLPAPI_ABSTRACTSESSION
39#define INCLUDED_BLPAPI_ABSTRACTSESSION
85#include <blpapi_deprecate.h>
116void blpapi_UserHandle_release(blpapi_UserHandle_t *handle);
130int blpapi_UserHandle_addRef(blpapi_UserHandle_t *handle);
156int blpapi_UserHandle_hasEntitlements(
const blpapi_UserHandle_t *handle,
157 const blpapi_Service_t *service,
158 const blpapi_Element_t *eidElement,
159 const int *entitlementIds,
160 size_t numEntitlements,
161 int *failedEntitlements,
162 int *failedEntitlementsCount);
183int blpapi_AbstractSession_cancel(blpapi_AbstractSession_t *session,
184 const blpapi_CorrelationId_t *correlationIds,
185 size_t numCorrelationIds,
186 const char *requestLabel,
187 int requestLabelLen);
212int blpapi_AbstractSession_sendAuthorizationRequest(
213 blpapi_AbstractSession_t *session,
214 const blpapi_Request_t *request,
215 blpapi_Identity_t *identity,
216 blpapi_CorrelationId_t *correlationId,
217 blpapi_EventQueue_t *eventQueue,
218 const char *requestLabel,
219 int requestLabelLen);
235int blpapi_AbstractSession_openService(
236 blpapi_AbstractSession_t *session,
const char *serviceIdentifier);
253int blpapi_AbstractSession_openServiceAsync(blpapi_AbstractSession_t *session,
254 const char *serviceIdentifier,
255 blpapi_CorrelationId_t *correlationId);
272int blpapi_AbstractSession_generateToken(blpapi_AbstractSession_t *session,
273 blpapi_CorrelationId_t *correlationId,
274 blpapi_EventQueue_t *eventQueue);
296int blpapi_AbstractSession_generateManualToken(
297 blpapi_AbstractSession_t *session,
298 blpapi_CorrelationId_t *correlationId,
300 const char *manualIp,
301 blpapi_EventQueue_t *eventQueue);
318int blpapi_AbstractSession_getService(blpapi_AbstractSession_t *session,
319 blpapi_Service_t **service,
320 const char *serviceIdentifier);
338blpapi_Identity_t *blpapi_AbstractSession_createIdentity(
339 blpapi_AbstractSession_t *session);
360int blpapi_AbstractSession_generateAuthorizedIdentityAsync(
361 blpapi_AbstractSession_t *session,
362 const blpapi_AuthOptions_t *authOptions,
363 blpapi_CorrelationId_t *cid);
383int blpapi_AbstractSession_getAuthorizedIdentity(
384 blpapi_AbstractSession_t *session,
385 const blpapi_CorrelationId_t *cid,
386 blpapi_Identity_t **identity);
404int blpapi_AbstractSession_sessionName(blpapi_AbstractSession_t *session,
405 const char **sessionName,
419int blpapi_UserAgentInfo_setUserTaskName(
const char *userTaskName);
435int blpapi_UserAgentInfo_setNativeSdkLanguageAndVersion(
436 const char *language,
const char *version);
519class AbstractSession {
521 blpapi_AbstractSession_t *d_handle_p;
525 AbstractSession(
const AbstractSession&);
526 AbstractSession& operator=(
const AbstractSession&);
535 void initAbstractSessionHandle(blpapi_AbstractSession_t *handle);
620 virtual bool openService(
const char *serviceIdentifier);
657 const Request& authorizationRequest,
707 virtual void cancel(
const std::vector<CorrelationId>& correlationIds);
729 const CorrelationId *correlationIds,
size_t numCorrelationIds);
766 const char *ipAddress,
837 blpapi_AbstractSession_t *abstractSessionHandle()
const;
844 BLPAPI_DEPRECATE_ABSTRACT_SESSION_CREATE_USER_HANDLE
UserHandle
865inline AbstractSession::AbstractSession()
869 BLPAPI_CALL(blpapi_UserAgentInfo_setNativeSdkLanguageAndVersion)
876inline void AbstractSession::initAbstractSessionHandle(
877 blpapi_AbstractSession_t *handle)
885 blpapi_Service_t *service;
887 d_handle_p, &service, serviceIdentifier));
892 const Request& authorizationRequest,
902 blpapi_AbstractSession_sendAuthorizationRequest(d_handle_p,
903 authorizationRequest.handle(),
905 const_cast<blpapi_CorrelationId_t *
>(
906 &retCorrelationId.impl()),
907 eventQueue ? eventQueue->handle() : 0,
911 return retCorrelationId;
916 blpapi_AbstractSession_cancel(d_handle_p, &correlationId.impl(), 1, 0, 0);
920 const std::vector<CorrelationId>& correlationIds)
922 if (!correlationIds.size()) {
925 cancel(&correlationIds[0], correlationIds.size());
929 const CorrelationId *correlationIds,
size_t numCorrelationIds)
931 blpapi_AbstractSession_cancel(d_handle_p,
932 reinterpret_cast<const blpapi_CorrelationId_t *
>(correlationIds),
944 blpapi_AbstractSession_generateToken(d_handle_p,
945 &retCorrelationId.impl(),
946 eventQueue ? eventQueue->handle() : 0));
948 return retCorrelationId;
952 const char *ipAddress,
959 BLPAPI_CALL(blpapi_AbstractSession_generateManualToken)(d_handle_p,
960 &retCorrelationId.impl(),
963 eventQueue ? eventQueue->handle() : 0));
965 return retCorrelationId;
970 return blpapi_AbstractSession_openService(d_handle_p, serviceIdentifier)
976 const char *serviceIdentifier,
const CorrelationId& correlationId)
978 blpapi_CorrelationId_t retv = correlationId.impl();
980 d_handle_p, serviceIdentifier, &retv));
987 return UserHandle(blpapi_AbstractSession_createIdentity(d_handle_p));
992 return Identity(blpapi_AbstractSession_createIdentity(d_handle_p));
998 blpapi_CorrelationId_t cidHandle = cid.impl();
1001 blpapi_AbstractSession_generateAuthorizedIdentityAsync)(
1002 d_handle_p, authOptions.handle(), &cidHandle));
1010 blpapi_Identity_t *identity = NULL;
1013 BLPAPI_CALL(blpapi_AbstractSession_getAuthorizedIdentity)(
1014 d_handle_p, &correlationId.impl(), &identity));
1025 BLPAPI_CALL(blpapi_AbstractSession_sessionName)(
1031inline blpapi_AbstractSession_t *AbstractSession::abstractSessionHandle()
const
Provides configuration settings for authorization.
Provide functions for dispatchtbl.
Provide a key to identify individual subscriptions or requests.
Common definitions used by the library.
A component which defines events related operations.
Provide a dispatcher to dispatch events.
Defines Exceptions that can be thrown by the blpapi library.
Provide access to the entitlements for a user.
Defines a request which can be sent for a service.
A service which provides access to API data (provide or consume).
Provide preprocessor macros for BLPAPI library version information.
virtual bool startAsync()=0
virtual bool openService(const char *serviceIdentifier)
Definition blpapi_abstractsession.h:968
virtual CorrelationId generateToken(const CorrelationId &correlationId=CorrelationId(), EventQueue *eventQueue=0)
Definition blpapi_abstractsession.h:938
std::string sessionName()
Definition blpapi_abstractsession.h:1019
virtual Event nextEvent(int timeout=0)=0
UserHandle createUserHandle()
Definition blpapi_abstractsession.h:985
virtual int tryNextEvent(Event *event)=0
virtual CorrelationId sendAuthorizationRequest(const Request &authorizationRequest, Identity *identity, const CorrelationId &correlationId=CorrelationId(), EventQueue *eventQueue=0)
Definition blpapi_abstractsession.h:891
virtual void stopAsync()=0
Identity getAuthorizedIdentity(const CorrelationId &correlationId=CorrelationId())
Definition blpapi_abstractsession.h:1007
virtual CorrelationId openServiceAsync(const char *serviceIdentifier, const CorrelationId &correlationId=CorrelationId())
Definition blpapi_abstractsession.h:975
CorrelationId generateAuthorizedIdentity(const AuthOptions &authOptions, const CorrelationId &cid=CorrelationId())
Definition blpapi_abstractsession.h:995
virtual Identity createIdentity()
Definition blpapi_abstractsession.h:990
virtual void cancel(const CorrelationId &correlationId)
Definition blpapi_abstractsession.h:914
virtual ~AbstractSession()
Definition blpapi_abstractsession.h:873
virtual Service getService(const char *serviceIdentifier) const
Definition blpapi_abstractsession.h:883
Definition blpapi_authoptions.h:485
Definition blpapi_correlationid.h:322
Definition blpapi_event.h:532
Definition blpapi_event.h:325
static void throwOnError(int errorCode)
Definition blpapi_exception.h:556
Definition blpapi_identity.h:217
Definition blpapi_request.h:214
Definition blpapi_service.h:616
Identity UserHandle
Definition blpapi_abstractsession.h:456
#define BLPAPI_SDK_VERSION_STRING
C-string encoding the version of the BLPAPI headers used at compile time in "MAJOR....
Definition blpapi_versionmacros.h:99
Definition blpapi_abstractsession.h:448
Definition blpapi_abstractsession.h:447