RAMSES Documentation  27.0.130
Information for RAMSES users and developers
IDcsmConsumerEventHandler.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2019 BMW AG
3 // -------------------------------------------------------------------------
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 // -------------------------------------------------------------------------
8 
9 #ifndef RAMSES_IDCSMCONSUMEREVENTHANDLER_H
10 #define RAMSES_IDCSMCONSUMEREVENTHANDLER_H
11 
14 
15 namespace ramses
16 {
17  class DcsmMetadataUpdate;
18 
23  {
24  public:
25  virtual ~IDcsmConsumerEventHandler() = default;
26 
34  virtual void contentOffered(ramses::ContentID contentID, ramses::Category category, ramses::ETechnicalContentType contentType) = 0;
35 
43  virtual void contentDescription(ramses::ContentID contentID, ramses::TechnicalContentDescriptor contentDescriptor) = 0;
44 
51  virtual void contentReady(ramses::ContentID contentID) = 0;
52 
59  virtual void contentEnableFocusRequest(ramses::ContentID contentID, int32_t focusRequest) = 0;
60 
67  virtual void contentDisableFocusRequest(ramses::ContentID contentID, int32_t focusRequest) = 0;
68 
76  virtual void contentStopOfferRequest(ramses::ContentID contentID) = 0;
77 
84  virtual void forceContentOfferStopped(ramses::ContentID contentID) = 0;
85 
95  virtual void contentMetadataUpdated(ramses::ContentID contentID, const DcsmMetadataUpdate& metadataUpdate) = 0;
96  };
97 }
98 
99 #endif
#define RAMSES_API
Definition: APIExport.h:35
Class to extract DCSM metadata entries from. Objects of this type will be provided by ramses callback...
Definition: DcsmMetadataUpdate.h:31
Callback interface for received DCSM consumer side events. Used with DcsmConsumer::dispatchEvents().
Definition: IDcsmConsumerEventHandler.h:23
virtual void contentOffered(ramses::ContentID contentID, ramses::Category category, ramses::ETechnicalContentType contentType)=0
Provider offered new content that can be controlled.
virtual void forceContentOfferStopped(ramses::ContentID contentID)=0
Content disappeared unexpectedly. Consumer should take immediate actions to handle....
virtual void contentReady(ramses::ContentID contentID)=0
Provider made content ready and available to use. This is an answer to DcsmConsumer::sendContentStatu...
virtual void contentEnableFocusRequest(ramses::ContentID contentID, int32_t focusRequest)=0
Provider requested to switch to/focus this content within the category. Consumer may or may not follo...
virtual void contentStopOfferRequest(ramses::ContentID contentID)=0
Provider no longer wants to offer the content and wants to remove it. Requests consumer to release th...
virtual ~IDcsmConsumerEventHandler()=default
virtual void contentMetadataUpdated(ramses::ContentID contentID, const DcsmMetadataUpdate &metadataUpdate)=0
Update metadata for given content. This callback provides metadata given to DcsmProvider::offerConten...
virtual void contentDisableFocusRequest(ramses::ContentID contentID, int32_t focusRequest)=0
Provider requested to no longer request focusing this content within the category....
virtual void contentDescription(ramses::ContentID contentID, ramses::TechnicalContentDescriptor contentDescriptor)=0
Provides the content description. It will be triggered by provider after the content is assigned to c...
Helper class to create strongly typed values out of various types.
Definition: StronglyTypedValue.h:23
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
ETechnicalContentType
Enum describing the possible distribution mechanisms for a specific content.
Definition: DcsmApiTypes.h:37