Android Open Source - lifx-wear-test L F X Gateway Descriptor






From Project

Back to project page lifx-wear-test.

License

The source code is released under:

Apache License

If you think the Android project lifx-wear-test listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

//
//  LFXGatewayDescriptor.java
//  LIFX// ww  w  .  j a v  a  2 s.c o m
//
//  Created by Jarrod Boyes on 24/03/14.
//  Copyright (c) 2014 LIFX Labs. All rights reserved.
//

package lifx.java.android.entities.internal;

import lifx.java.android.entities.internal.structle.LxProtocolDevice;
import lifx.java.android.entities.internal.structle.LxProtocolDevice.Service;
import lifx.java.android.internal.LFXWiFiObserver;

public class LFXGatewayDescriptor
{
  public static LFXGatewayDescriptor getGatewayDescriptorWithHostPortPathService( String host, int port, LFXBinaryPath path, LxProtocolDevice.Service service)
  {
    LFXGatewayDescriptor gatewayDescriptor = new LFXGatewayDescriptor();
    gatewayDescriptor.host = host;
    gatewayDescriptor.port = port;
    gatewayDescriptor.path = path;
    gatewayDescriptor.service = service;
    return gatewayDescriptor;
  }

  public static LFXGatewayDescriptor getBroadcastGatewayDescriptor()
  {
    return getGatewayDescriptorWithHostPortPathService( LFXWiFiObserver.getWiFiBroadcastAddress(), 56700, null, Service.LX_PROTOCOL_DEVICE_SERVICE_UDP);
  }

  public static LFXGatewayDescriptor getClientPeerToPeerGatewayDescriptor()
  {
    return getGatewayDescriptorWithHostPortPathService( LFXWiFiObserver.getWiFiBroadcastAddress(), 56750, null, Service.LX_PROTOCOL_DEVICE_SERVICE_UDP);
  }
  
  public static LFXGatewayDescriptor getSoftAPGatewayDescriptor()
  {
    return getGatewayDescriptorWithHostPortPathService( "172.16.0.1", 56700, null, Service.LX_PROTOCOL_DEVICE_SERVICE_TCP);
  }

  public boolean isBroadcastGateway()
  {
    return this.equals( getBroadcastGatewayDescriptor());
  }
  
  public boolean isClientPeerToPeerGateway()
  {
    return this.equals( getClientPeerToPeerGatewayDescriptor());
  }
  
  public boolean isSoftAPGateway()
  {
    return this.equals( getSoftAPGatewayDescriptor());
  }

  private String host;
  private int port;
  private LFXBinaryPath path;
  private LxProtocolDevice.Service service;

  public String getHost()
  {
    return host;
  }
  
  public int getPort()
  {
    return port;
  }
  
  public LFXBinaryPath getPath()
  {
    return path;
  }
  
  public LxProtocolDevice.Service getService()
  {
    return service;
  }

  public String getProtocolString()
  {
    return service.toString();
  }

  public String toString()
  {
    if( path != null)
    {
      return "LFXGatewayDescriptor - Host: " + host + ", Port: " + port + ", Path: " + path.toString() + ", Protocol: " + getProtocolString();
    }
    else
    {
      return "LFXGatewayDescriptor - Host: " + host + ", Port: " + port + ", Path: " + path + ", Protocol: " + getProtocolString();
    }
  }

  public boolean equals( LFXGatewayDescriptor aGatewayDescriptor)
  {
    if( aGatewayDescriptor == null)
    {
      return false;
    }
    
    if( !aGatewayDescriptor.getHost().equals( this.host)) 
    {
      return false;
    }
    
    if( aGatewayDescriptor.getPort() != this.port) 
    {
      return false;
    }
    
    if( aGatewayDescriptor.getService() != this.service)
    {
      return false;
    }
    
    return true;
  }

  public Object clone()
  {
    LFXGatewayDescriptor newGatewayDescriptor = new LFXGatewayDescriptor();
    newGatewayDescriptor.host = this.host;
    newGatewayDescriptor.port = this.port;
    newGatewayDescriptor.path = this.path;
    newGatewayDescriptor.service = this.service;
    return newGatewayDescriptor;
  }
}




Java Source Code List

de.dp.lifxtest.app.LightsFragment.java
de.dp.lifxtest.app.MasterActivity.java
lifx.java.android.client.LFXClient.java
lifx.java.android.constant.LFXSDKConstants.java
lifx.java.android.entities.LFXHSBKColor.java
lifx.java.android.entities.LFXLightTarget.java
lifx.java.android.entities.LFXTypes.java
lifx.java.android.entities.internal.LFXBinaryPath.java
lifx.java.android.entities.internal.LFXBinaryTargetID.java
lifx.java.android.entities.internal.LFXBinaryTypes.java
lifx.java.android.entities.internal.LFXDeviceMapping.java
lifx.java.android.entities.internal.LFXGatewayDescriptor.java
lifx.java.android.entities.internal.LFXMessageObservationDescriptor.java
lifx.java.android.entities.internal.LFXMessage.java
lifx.java.android.entities.internal.LFXSiteID.java
lifx.java.android.entities.internal.LFXTagMapping.java
lifx.java.android.entities.internal.LFXTarget.java
lifx.java.android.entities.internal.structle.LxProtocolDevice.java
lifx.java.android.entities.internal.structle.LxProtocolLight.java
lifx.java.android.entities.internal.structle.LxProtocolSensor.java
lifx.java.android.entities.internal.structle.LxProtocolWan.java
lifx.java.android.entities.internal.structle.LxProtocolWifi.java
lifx.java.android.entities.internal.structle.LxProtocol.java
lifx.java.android.entities.internal.structle.Lx.java
lifx.java.android.entities.internal.structle.StructleTypes.java
lifx.java.android.internal.LFXWiFiObserver.java
lifx.java.android.light.LFXLightCollection.java
lifx.java.android.light.LFXLight.java
lifx.java.android.light.LFXTaggedLightCollection.java
lifx.java.android.light.internal.LFXAllLightsCollection.java
lifx.java.android.network_context.LFXNetworkContext.java
lifx.java.android.network_context.internal.routing_table.LFXRoutingTable.java
lifx.java.android.network_context.internal.transport_manager.LFXTransportManager.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXGatewayConnection.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXSocketGeneric.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXSocketTCP.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXSocketUDP.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXTCPGatewayConnection.java
lifx.java.android.network_context.internal.transport_manager.gateway_connection.LFXUDPGatewayConnection.java
lifx.java.android.network_context.internal.transport_manager.lan.LFXLANTransportManager.java
lifx.java.android.network_context.internal.transport_manager.lan.gateway_discovery.LFXGatewayDiscoveryController.java
lifx.java.android.network_context.internal.transport_manager.lan.gateway_discovery.LFXGatewayDiscoveryTableEntry.java
lifx.java.android.util.LFXByteUtils.java
lifx.java.android.util.LFXLog.java
lifx.java.android.util.LFXNetworkUtils.java
lifx.java.android.util.LFXTimerUtils.java