PropertyChange iOS

asked 2015-12-10 07:15:42 -0700

nilavya gravatar image


I have an iOS application where I have the Interface Description and the way I initialize it is as follows.

The iOS application connects to a BLE enabled device and gets the device information and the same I am using to announce as per the steps mentioned below.

  1. Create one BustAttachment (initWithApplicationName)
  2. Register Buslistner (registerBusListener)
  3. Initialize BusObject. This is basically containing information about the interface (initWithBusAttachment)
  4. Inside the InitWithBusAttachment - performing all the interfacedescription related functionality i.e. createInterfaceWithName, addSignalWithName, addPropertyWithName, setPropertyDescription, activate,
  5. Inside the AJNBusObjectImpl derived class, AddInterface
  6. Start the Bus
  7. Register the Bus Object (registerBusObject)
  8. ConnectwithArguments - passing null
  9. Advertise this service on the bus by doing (requestWellKnownName, bindSessionPort)
  10. Init AJNAboutObject (withAnnounceFlag : Announced)

Using the above mentioned steps, I am able to view my about device information on the "Dashboard" android application. What I want to achieve is when a property value changes, I want to perform an action on another connected device which is Alljoyn compliant.

Am I missing any steps above?

Also I tried using the AlljoynCodeGenerator application to generate the code from the XML below and not sure if it generated properly or not as most of the places the Interface name and delegate names were missing.

      <interface name="com.example.device">
            <description language="en">
                  Examples for an AllJoyn-enabled.
            <property name="BrushState" type="b" access="readwrite">
                  <annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal" value="true"/>
                  <description language="en">
                       Device State Information and Emission on value change.



edit retag flag offensive close merge delete


these are excellent questions. I would ask them on the mailing list

ry.jones ( 2015-12-10 12:44:19 -0700 )edit

[interfaceDescription addPropertyWithName:@"DeviceState" signature:@"b"];[interfaceDescription addSignalWithName:@"RunningState" inputSignature:@"b" argumentNames:nil annotation:kAJNInterfaceAnnotationNoReplyFlag]; In the Dashboard application it is not visible which says no Controls available.

nilavya ( 2015-12-11 23:36:23 -0700 )edit

Fixed it. The Member description and the translation text were the missing things from my code. It was mandatory for one of the receiver application and hence it was not visible.

nilavya ( 2016-01-04 22:11:19 -0700 )edit