ASACORE 47: Fix property changed notification API

- Move signal to the correct interface
- Add a C++ test program
- Move property change handling to ProxyBusObject.
- Deprecated BusListener::PropertyChanged().
- Allow setting annotations on InterfaceDescription::Property in the same way
  that is allowed for InterfaceDescription::Memeber.
- Add ability to lookup property changed handler context.  (This simplifies the
  C language binding.)

Change-Id: I881d66ac9fb30a28d2c2b7af075f04b29b5db5cd
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-47: Fix declaration and modify C unit test

Change-Id: Id3053664c5519efa9950408d76d99f18c9fc424d
Signed-off-by: Mathew Martineau <mathewm@qce.qualcomm.com>
Merge remote-tracking branch 'origin/master' into feature/asacore47

Change-Id: I6a3869c6fc929c90a31a379cf91a8a534d265953
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-47: Implement EmitPropertiesChanged for multiple properties at once

Change-Id: I303ea84bc066ae4c5e971b70bd807fbcc25724e5
Signed-off-by: Meggan Ehret <meggan@qeo.org>
ASACORE-47: Rework PropertyChanged handler to process multiple properties in one call.

Fix unit tests too.

Change-Id: I1c9ae171e7c9aa5286b29dbca69fe7f63116b80c
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-730: Add support for arg matches to match rules.

Change-Id: I87a1a510c0d768398450ee87b5132a90ad26ebac
Signed-off-by: Todd Malsbary <tmalsbar@qce.qualcomm.com>
ASACORE-51: Cease automagically emmiting PropertiesChanged in certain cases.

Don't automatically send the PropertiesChanged signal if a Set
property method call is received.  The new value may not elicit an
actual change or the application may prefer to accumulate a few
changes before sending out the change notification.

Change-Id: I3f1274e342e8c9167464df31d480d68e0fedca3f
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
Merge "ASACORE-51: Cease automagically emmiting PropertiesChanged in certain cases." into feature/asacore47
Merge remote-tracking branch 'origin/master' into feature/asacore47

Conflicts:
	alljoyn_c/inc/alljoyn_c/BusListener.h
	alljoyn_c/inc/alljoyn_c/ProxyBusObject.h
	alljoyn_c/src/BusObjectC.cc
	alljoyn_c/src/ProxyBusObject.cc
	alljoyn_c/unit_test/BusObjectTest.cc
	alljoyn_core/test/SConscript
	alljoyn_java/src/org/alljoyn/bus/ProxyBusObject.java

Change-Id: Ie8ac6cebe9bb15f3c1b42d2c39f9d95d1b533d02
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-47 Use arg0= when calling AddMatch for PropertiesChanged signal

Change-Id: I5f9d6649e303d0df1d647fd786176c15c157b89e
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-47: Update proptester to register for all properties + fix

Change-Id: Idc19fa8c0b09b858c6a80a12d12b90c7e42db70b
Signed-off-by: Meggan Ehret <meggan@qeo.org>
ASACORE-47: fix registration of multiple properties changed handlers on same interface

Change-Id: I3caa705f6be8b85e4d89335836638803d9128760
Signed-off-by: Meggan Ehret <meggan@qeo.org>
ASACORE-47 Don't reference qcc/StringMapKey.h in public header files

Referencing qcc/StringMapKey.h from alljoyn/ProxyBusObject.h will
break building any external users of ProxyBusObject since
qcc/StringMapKey.h is not publicly available.

This results in moving private static member variables from
ProxyBusObject.h to static, file-scope variables in ProxyBusObject.cc.

Change-Id: If7432456bc52f977312d0f184a0272cfc99cbae2
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-47: Start of EmitPropertiesChanged test in java

Change-Id: I8e49860d7f13004a6c4aa28f046378124b18c171
Signed-off-by: Meggan Ehret <meggan@qeo.org>
ASACORE-47 Improve Properties Change notification filtering

If 2 remote devices implement the same interface on the same object
path, then the ProxyBusObject instanciated for only one of those
devices' objects would get Properties Changed events from both remote
devices and the application would not be able to determine whether the
received Properties Changed event was related to the specific instance
of ProxyBusObject or not.

This change adds code to collect the unique bus name containing the
BusObject the ProxyBusObject is proxying so that it can filter out
Properties Changed events from other remote devices.

Change-Id: I6e393ad204b84f2626359693bd4876269691a9ee
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
Merge "ASACORE-47: Start of EmitPropertiesChanged test in java" into feature/asacore47
ASACORE-47: Update Java binding for PropertiesChangedListener

Change-Id: I94566ad0f6a69d2d4b00d28a99fff15d7233d3d0
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE-856: Interoperabilty fix with 14.06

Omit including the org.freedesktop.DBus and
org.freedesktop.DBus.Properties interfaces when sending introspection
data.

Ignore org.freedesktop.DBus and org.freedesktop.DBus.Properties when
parsing introspection data.

Change-Id: I1a7ec17394cb4622470ee52482be64e279ac1a91
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
ASACORE47: Remove code to unregister signal handler 

ASACORE47: Remove code to unregister signal handler that is not 
           registered in the first place

Change-Id: I0815cfd3ff46a15bfb12a4926f96a2d55e1cf37e
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>
Merge remote-tracking branch 'origin/master' into feature/asacore47

Conflicts:
	alljoyn_core/router/RuleTable.cc
	alljoyn_core/router/RuleTable.h
	alljoyn_core/src/BusAttachment.cc
	alljoyn_core/src/BusObject.cc

Change-Id: I00530c3bfcc0377eba36a5d6d755c9d6c58be7c4
Signed-off-by: Steve Kinneberg <stevek@qce.qualcomm.com>