nx_cloud_storage_sdk  1.0
Cloud Storage SDK
i_active_setting_changed_response.h
1 // Copyright 2018-present Network Optix, Inc. Licensed under MPL 2.0: www.mozilla.org/MPL/2.0/
2 
3 #pragma once
4 
5 #include <nx/sdk/interface.h>
6 #include <nx/sdk/ptr.h>
7 
8 #include "i_action_response.h"
9 #include "i_settings_response.h"
10 
11 namespace nx::sdk {
12 
16 class IActiveSettingChangedResponse: public Interface<IActiveSettingChangedResponse>
17 {
18 public:
19  static auto interfaceId() { return makeId("nx::sdk::IActiveSettingChangedResponse"); }
20 
22  protected: virtual const IActionResponse* getActionResponse() const = 0;
27  {
28  return Ptr(getActionResponse());
29  }
30 
32  protected: virtual const ISettingsResponse* getSettingsResponse() const = 0;
39  {
40  return Ptr(getSettingsResponse());
41  }
42 };
43 using IActiveSettingChangedResponse0 = IActiveSettingChangedResponse;
44 
45 } // namespace nx::sdk
Definition: i_settings_response.h:40
Ptr< const ISettingsResponse > settingsResponse() const
Definition: i_active_setting_changed_response.h:38
Definition: interface.h:48
virtual const IActionResponse * getActionResponse() const =0
Definition: ptr.h:18
Definition: i_active_setting_changed_response.h:16
Definition: i_action_response.h:13
Ptr< const IActionResponse > actionResponse() const
Definition: i_active_setting_changed_response.h:26
static constexpr const InterfaceId * makeId(const char(&charArray)[len])
Definition: i_ref_countable.h:76
virtual const ISettingsResponse * getSettingsResponse() const =0