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