Class: AwsIotDevice::MqttShadowClient::ShadowClient

Inherits:
Object
  • Object
show all
Defined in:
lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeShadowClient

Returns a new instance of ShadowClient.



10
11
12
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 10

def initialize
  @mqtt_client = MqttManager.new
end

Instance Attribute Details

#action_managerObject

Returns the value of attribute action_manager.



8
9
10
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 8

def action_manager
  @action_manager
end

Instance Method Details

#configure_credentials(ca_file, key, cert) ⇒ Object



55
56
57
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 55

def configure_credentials(ca_file, key, cert)
  @mqtt_client.config_ssl_context(ca_file, key, cert)
end

#configure_endpoint(host, port) ⇒ Object



51
52
53
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 51

def configure_endpoint(host,port)
  @mqtt_client.config_endpoint(host,port)
end

#connectObject



14
15
16
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 14

def connect
  @mqtt_client.connect
end

#create_shadow_handler_with_name(shadow_name, is_persistent_subscribe = false) ⇒ Object



22
23
24
25
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 22

def create_shadow_handler_with_name(shadow_name, is_persistent_subscribe=false)
  topic_manager
  @action_manager = ShadowActionManager.new(shadow_name, @topic_manager, is_persistent_subscribe)
end

#delete_shadow(callback = nil, timeout = 5) ⇒ Object



35
36
37
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 35

def delete_shadow(callback=nil, timeout=5)
  @action_manager.shadow_delete(callback, timeout)
end

#disconnectObject



47
48
49
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 47

def disconnect
  @mqtt_client.disconnect
end

#get_shadow(callback = nil, timeout = 5) ⇒ Object



27
28
29
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 27

def get_shadow(callback=nil, timeout=5)
  @action_manager.shadow_get(callback, timeout)
end

#register_delta_callback(callback) ⇒ Object



39
40
41
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 39

def register_delta_callback(callback)
  @action_manager.register_shadow_delta_callback(callback)
end

#remove_shadow_delta_callbackObject



43
44
45
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 43

def remove_shadow_delta_callback
  @action_manager.remove_shadow_delta_callback
end

#topic_managerObject



18
19
20
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 18

def topic_manager
  @topic_manager = ShadowTopicManager.new(@mqtt_client)
end

#update_shadow(payload, callback = nil, timeout = 5) ⇒ Object



31
32
33
# File 'lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb', line 31

def update_shadow(payload, callback=nil, timeout=5)
  @action_manager.shadow_update(payload, callback, timeout)
end