HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SIM_EmptyData.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  */
7 
8 #ifndef __SIM_EmptyData_h__
9 #define __SIM_EmptyData_h__
10 
11 #include "SIM_API.h"
12 #include "SIM_OptionsUser.h"
13 #include "SIM_DataUtils.h"
14 
15 /// This class holds a SIM_Options object, and provides direct access to
16 /// it. Most SIM_Data classes which use SIM_Options to hold basic data
17 /// types don't expose the contained data directly. This prevents
18 /// extraneous data from being attached where it doesn't belong. This
19 /// class has no such restrictions and so can be used as a repository
20 /// for arbitrary simple data types.
22  public SIM_OptionsUser
23 {
24 public:
25  /// Provides read access to our SIM_Options internal data.
26  const SIM_Options &getData() const;
27  /// Provides read and write access to our SIM_Options internal data.
28  SIM_Options &getData();
29 
30  /// Signals to the data that it has been altered externally.
32  {
34  }
35 
36 protected:
37  explicit SIM_EmptyData(const SIM_DataFactory *factory);
38  ~SIM_EmptyData() override;
39 
40 private:
41  static const SIM_DopDescription *getEmptyDataDopDescription();
42 
45  SIM_Data,
46  "Empty Data",
47  getEmptyDataDopDescription());
48 };
49 
50 #endif
51 
#define DECLARE_STANDARD_GETCASTTOTYPE()
Definition: SIM_DataUtils.h:50
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
Definition: SIM_DataUtils.h:63
void pubHandleModification()
Signals to the data that it has been altered externally.
Definition: SIM_EmptyData.h:31
void handleModification(int code=-1)
#define SIM_API
Definition: SIM_API.h:12