class AwsIotDevice::MqttShadowClient::ShadowClient
Public Class Methods
new(*args)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 9 def initialize(*args) unless args.last.nil? config_attr(args.last) else @mqtt_client = MqttManager.new end end
Public Instance Methods
configure_credentials(ca_file, key, cert)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 100 def configure_credentials(ca_file, key, cert) @mqtt_client.config_ssl_context(ca_file, key, cert) end
configure_endpoint(host, port)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 96 def configure_endpoint(host, port) @mqtt_client.config_endpoint(host,port) end
connect(*args) { |self| ... }
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 17 def connect(*args, &block) @mqtt_client.connect(*args) self.logger.info("Connected to the AWS IoT platform") if logger? if block_given? begin yield(self) ensure @mqtt_client.disconnect end end end
create_shadow_handler_with_name(shadow_name, persistent_subscribe=false)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 29 def create_shadow_handler_with_name(shadow_name, persistent_subscribe=false) @action_manager = ShadowActionManager.new(shadow_name, @mqtt_client, persistent_subscribe) end
delete_shadow(timeout=5, callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 56 def delete_shadow(timeout=5, callback=nil, &block) @action_manager.shadow_delete(timeout, callback, &block) end
disconnect()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 92 def disconnect @mqtt_client.disconnect end
get_shadow(timeout=5, callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 48 def get_shadow(timeout=5, callback=nil, &block) @action_manager.shadow_get(timeout, callback, &block) end
logger()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 40 def logger @action_manager.logger end
logger=(logger_path)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 33 def logger=(logger_path) file = File.open(logger_path, "a+") log_file = Logger.new(file) log_file.level = Logger::DEBUG @action_manager.logger = log_file end
logger?()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 44 def logger? @action_manager.logger? end
register_delete_callback(callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 68 def register_delete_callback(callback=nil, &block) @action_manager.register_delete_callback(callback, &block) end
register_delta_callback(callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 72 def register_delta_callback(callback=nil, &block) @action_manager.register_shadow_delta_callback(callback, &block) end
register_get_callback(callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 60 def register_get_callback(callback=nil, &block) @action_manager.register_get_callback(callback, &block) end
register_update_callback(callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 64 def register_update_callback(callback=nil, &block) @action_manager.register_update_callback(callback, &block) end
remove_delete_callback()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 88 def remove_delete_callback @action_manager.remove_delete_callback end
remove_delta_callback()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 76 def remove_delta_callback @action_manager.remove_shadow_delta_callback end
remove_get_callback()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 80 def remove_get_callback @action_manager.remove_get_callback end
remove_update_callback()
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 84 def remove_update_callback @action_manager.remove_update_callback end
update_shadow(payload, timeout=5, callback=nil, &block)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 52 def update_shadow(payload, timeout=5, callback=nil, &block) @action_manager.shadow_update(payload, timeout, callback, &block) end
Private Instance Methods
config_attr(args)
click to toggle source
# File lib/aws_iot_device/mqtt_shadow_client/shadow_client.rb, line 107 def config_attr(args) shadow_attr = args.dup shadow_attr.keep_if {|key| key == :shadow_name || key == :persistent_subscribe || key == :logger } mqtt_attr = args mqtt_attr.delete_if {|key| key == :shadow_name || key == :persistent_subscribe || key == :logger } @mqtt_client = MqttManager.new(mqtt_attr) shadow_attr[:persistent_subscribe] ||= false @action_manager = create_shadow_handler_with_name(shadow_attr[:shadow_name], shadow_attr[:persistent_subsrcibe]) if shadow_attr.has_key?(:shadow_name) end