ADTF  3.18.2
lockedobject_unblocked.h
Go to the documentation of this file.
1 
8 #ifndef _ADTF_UCOM_ANT_LOCKED_OBJECT_UNBLOCKED_INCLUDES_HEADER_
9 #define _ADTF_UCOM_ANT_LOCKED_OBJECT_UNBLOCKED_INCLUDES_HEADER_
10 
11 namespace adtf
12 {
13 namespace ucom
14 {
15 namespace ant
16 {
17 
23 class cLockedObject : public catwo::object<ILockedObject>
24 {
25  private:
26  cLockedObject(const cLockedObject&) = delete;
27  cLockedObject(cLockedObject&&) = delete;
28  cLockedObject& operator=(const cLockedObject&) = delete;
29  cLockedObject& operator=(cLockedObject&&) = delete;
30 
31  public:
32  cLockedObject();
33  virtual ~cLockedObject();
34 
35  public: //implements
36  virtual tResult Lock() const;
37  virtual tResult Unlock() const;
38 };
39 
45 class cSharedLockedObject : public catwo::object<ISharedLockedObject>
46 {
47  private:
48  cSharedLockedObject(const cLockedObject&) = delete;
50  cSharedLockedObject& operator=(const cLockedObject&) = delete;
51  cSharedLockedObject& operator=(cLockedObject&&) = delete;
52 
53  public:
55  virtual ~cSharedLockedObject();
56 
57  public: //implements
58  tResult Lock() const override;
59  tResult Unlock() const override;
60 
61  tResult LockShared() const override;
62  tResult UnlockShared() const override;
63 };
64 
65 }//namespace ant
66 
68 using ant::cLockedObject;
69 
72 
73 }//namespace ucom
74 }//namespace adtf
75 
76 //*************************************************************************************************
77 #endif //_ADTF_UCOM_ANT_LOCKED_OBJECT_UNBLOCKED_INCLUDES_HEADER_
The IStream interface provides defines methods for streaming data.
The IStream interface provides defines methods for streaming data.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
Definition: object.h:379
Namespace for entire ADTF SDK.