Ocean
ImplicitRecorder.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_MEDIA_IMPLICIT_RECORDER_H
9 #define META_OCEAN_MEDIA_IMPLICIT_RECORDER_H
10 
11 #include "ocean/media/Media.h"
12 #include "ocean/media/Recorder.h"
13 
15 
16 namespace Ocean
17 {
18 
19 namespace Media
20 {
21 
22 // Forward declaration.
23 class ImplicitRecorder;
24 
25 /**
26  * Definition of a object reference holding an explicit recorder.
27  * @see SmartObjectRef, ExplicitRecorder.
28  * @ingroup media
29  */
31 
32 /**
33  * This class is the base class for all implicit media recorder.
34  * An implicit recorder may be started indirect by an external request.<br>
35  * Instead, an explicit recorder has to be started explicitly to start the recording process.<br>
36  * @see ExplicitRecorder.
37  * @ingroup media
38  */
39 class OCEAN_MEDIA_EXPORT ImplicitRecorder : virtual public Recorder
40 {
41  public:
42 
43  /**
44  * Returns whether this recorder is currently enabled.
45  * @return True, if so
46  */
47  virtual bool isEnabled() const = 0;
48 
49  /**
50  * Enables the streaming recorder.
51  * @return True, if succeeded
52  */
53  virtual bool enable() = 0;
54 
55  /**
56  * Disables the streaming recorder.
57  * @return True, if succeeded
58  */
59  virtual bool disable() = 0;
60 
61  protected:
62 
63  /**
64  * Creates a new implicit recorder.
65  */
67 
68  /**
69  * Destructs a implicit recorder.
70  */
71  ~ImplicitRecorder() override;
72 };
73 
74 }
75 
76 }
77 
78 #endif // META_OCEAN_MEDIA_IMPLICIT_RECORDER_H
This class is the base class for all implicit media recorder.
Definition: ImplicitRecorder.h:40
virtual bool disable()=0
Disables the streaming recorder.
virtual bool isEnabled() const =0
Returns whether this recorder is currently enabled.
ImplicitRecorder()
Creates a new implicit recorder.
virtual bool enable()=0
Enables the streaming recorder.
~ImplicitRecorder() override
Destructs a implicit recorder.
This class is the base class for all recorder.
Definition: Recorder.h:37
This template class implements a smart object reference which is a specialization of an ObjectRef obj...
Definition: SmartObjectRef.h:90
Ocean::SmartObjectRef< ImplicitRecorder, Recorder > ImplicitRecorderRef
Definition of a object reference holding an explicit recorder.
Definition: ImplicitRecorder.h:23
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15