8#include "Arp/Base/Rsc/Commons/Rsc.hpp" 
    9#include "Arp/Base/Rsc/Commons/IRscService.hpp" 
   10#include "Arp/Base/Rsc/Commons/IRscReadEnumerator.hxx" 
   11#include "Arp/Base/Rsc/Commons/IRscWriteEnumerator.hxx" 
   12#include "Arp/Base/Core/delegate.hxx" 
   14#include "Arp/Base/Rsc/Commons/RscString.hxx" 
   15#include "Arp/Base/Rsc/Commons/RscVariant.hxx" 
   16#include "Arp/Plc/Gds/Services/DataAccessError.hpp" 
   17#include "Arp/Plc/Gds/Services/SubscriptionKind.hpp" 
   18#include "Arp/Plc/Gds/Services/VariableInfo.hpp" 
   25using namespace Arp::Base::Rsc::Commons;
 
   92    using Ptr = std::shared_ptr<ISubscriptionService>;
 
Prototyping of delegate template.
Definition: delegate.hxx:14
 
Interface for reading a arrays or enumerations.
Definition: IRscReadEnumerator.hxx:19
 
This is the base interface of all Rsc services.
Definition: IRscService.hpp:22
 
std::shared_ptr< IRscService > Ptr
The shared_ptr type of IRscService.
Definition: IRscService.hpp:25
 
Interface for writing an array enumeration or enumeration of unspefied length.
Definition: IRscWriteEnumerator.hxx:20
 
Interface for service proxy factories to create service proxies used by RSC clients.
Definition: IRscServiceProxyFactory.hpp:22
 
Services for the subscription.
Definition: ISubscriptionService.hpp:90
 
virtual DataAccessError DeleteSubscription(uint32 subscriptionId)=0
Deletes the subscription.
 
virtual DataAccessError Subscribe(uint32 subscriptionId, uint64 sampleRate)=0
Subscribes the subscription with the given id.
 
virtual uint32 CreateSubscription(SubscriptionKind kind)=0
Creates a subscription of the given Arp.Plc.Gds.Services.SubscriptionKind.
 
virtual DataAccessError RemoveVariable(uint32 subscriptionId, const RscString< 512 > &variableName)=0
Removes the variable with the specific variable name from the subscription.
 
ISubscriptionService(void)=default
Constructs an ISubscriptionService instance.
 
virtual DataAccessError GetVariableInfos(uint32 subscriptionId, GetVariableInfosVariableInfoDelegate variableInfoDelegate)=0
Get the subscribed variable information of the subscription.
 
virtual DataAccessError ReadValues(uint32 subscriptionId, ReadValuesValuesDelegate valuesDelegate)=0
Read the data from the subscription with the given id.
 
virtual DataAccessError GetTimeStampedVariableInfos(uint32 subscriptionId, GetTimeStampedVariableInfosVariableInfoDelegate variableInfoDelegate)=0
Get the subscribed variable information including information of timestamps of the subscription.
 
virtual uint32 CreateRecordingSubscription(uint16 recordCount)=0
Creates a subscription of Arp.Plc.Gds.Services.SubscriptionKind.Recording.
 
virtual DataAccessError AddVariable(uint32 subscriptionId, const RscString< 512 > &variableName)=0
Extends the subscription with the given id by inserting the given variable name
 
virtual DataAccessError Unsubscribe(uint32 subscriptionId)=0
Unsubscribes the subscription with the given id.
 
virtual DataAccessError GetRecordInfos(uint32 subscriptionId, GetRecordInfosRecordInfosDelegate recordInfosDelegate)=0
Get the subscribed variable information as a record of the subscription.
 
virtual DataAccessError ReadRecords(uint32 subscriptionId, uint16 count, ReadRecordsRecordsDelegate recordsDelegate)=0
Read the data including timestamps from the subscription with the given id separated in task records.
 
virtual void AddVariables(uint32 subscriptionId, AddVariablesVariableNamesDelegate variableNamesDelegate, AddVariablesResultDelegate resultDelegate)=0
Extends the subscription with the given id by inserting a range of new variables.
 
virtual DataAccessError Resubscribe(uint32 subscriptionId, uint64 sampleRate)=0
Resubscribes the subscription with the given id.
 
virtual DataAccessError ReadTimeStampedValues(uint32 subscriptionId, ReadTimeStampedValuesValuesDelegate valuesDelegate)=0
Read the data including timestamps from the subscription with the given id.
 
std::uint32_t uint32
The Arp unsigned integer type of 4 byte size.
Definition: PrimitiveTypes.hpp:33
 
std::uint16_t uint16
The Arp unsigned integer type of 2 byte size.
Definition: PrimitiveTypes.hpp:29
 
std::uint64_t uint64
The Arp unsigned integer type of 8 byte size.
Definition: PrimitiveTypes.hpp:37
 
Namespace for services of the Global Data Space (GDS)
 
DataAccessError
This enumeration contains the possible data access errors.
Definition: DataAccessError.hpp:19
 
SubscriptionKind
This enumeration contains the possible kinds of subscriptions.
Definition: SubscriptionKind.hpp:28