RAMSES Documentation  27.0.130
Information for RAMSES users and developers
DcsmConsumer.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_DCSMCONSUMER_H
10 #define RAMSES_DCSMCONSUMER_H
11 
17 
18 namespace ramses
19 {
20  class DcsmStatusMessage;
21  class DcsmConsumerImpl;
22 
27  {
28  public:
39 
51 
68  status_t contentSizeChange(ContentID contentID, const CategoryInfoUpdate& categoryInfo, AnimationInformation animationInformation);
69 
82  status_t contentStateChange(ContentID contentID, EDcsmState state, AnimationInformation animationInformation);
83 
96  status_t acceptStopOffer(ContentID contentID, AnimationInformation animationInformation);
97 
108 
112  DcsmConsumer() = delete;
113 
118  DcsmConsumer(const DcsmConsumer& other) = delete;
119 
125  DcsmConsumer& operator=(const DcsmConsumer& other) = delete;
126 
131  explicit DcsmConsumer(DcsmConsumerImpl& impl_);
132 
136  ~DcsmConsumer() override;
137 
141  DcsmConsumerImpl& impl;
142  };
143 }
144 
145 #endif
#define RAMSES_API
Definition: APIExport.h:35
Update of information about a DCSM category. Contains information like changes in size....
Definition: CategoryInfoUpdate.h:29
Class representing DCSM consumer side.
Definition: DcsmConsumer.h:27
status_t contentStateChange(ContentID contentID, EDcsmState state, AnimationInformation animationInformation)
Send a DCSM contentStateChange for the given content ID. May only be called on assigned content IDs....
DcsmConsumer(const DcsmConsumer &other)=delete
Deleted copy constructor.
DcsmConsumerImpl & impl
Definition: DcsmConsumer.h:141
status_t dispatchEvents(IDcsmConsumerEventHandler &handler)
Calls handler functions synchronously in the caller context for DCSM events which were received async...
status_t assignContentToConsumer(ContentID contentID, const CategoryInfoUpdate &categoryInfo)
Exclusively assign an offered content to this consumer. Sends a DCSM canvasSizeEvent for the given co...
status_t acceptStopOffer(ContentID contentID, AnimationInformation animationInformation)
Accept a provider requesting to stop offering a content assigned to this consumer....
DcsmConsumer()=delete
Deleted default constructor.
~DcsmConsumer() override
Destructor.
status_t sendContentStatus(ContentID contentID, DcsmStatusMessage const &message)
Send a message to the provider of the content assigned to this consumer.
DcsmConsumer(DcsmConsumerImpl &impl_)
Constructor from impl.
DcsmConsumer & operator=(const DcsmConsumer &other)=delete
Deleted copy assignment.
status_t contentSizeChange(ContentID contentID, const CategoryInfoUpdate &categoryInfo, AnimationInformation animationInformation)
Send a DCSM contentSizeEvent for the given content ID. May only be called on assigned content IDs....
The base class of a message to be sent from DCSM consumer to provider.
Definition: DcsmStatusMessage.h:28
Callback interface for received DCSM consumer side events. Used with DcsmConsumer::dispatchEvents().
Definition: IDcsmConsumerEventHandler.h:23
The StatusObject provides status message handling.
Definition: StatusObject.h:22
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
uint32_t status_t
Status is a handle to the result of an API call.
Definition: RamsesFrameworkTypes.h:26
EDcsmState
DCSM content states. Used to request a specific state from provider via DcsmConsumer::sendContentStat...
Definition: DcsmApiTypes.h:185
Definition: DcsmApiTypes.h:152