private AJ_Status ProcessProperty(AJ_Message msg, PropertyCB propCB, uint propType)
        {
            AJ_Status status = AJ_Status.AJ_OK;
            UInt32    propId = 0;

            string sig = UnmarshalPropertyArgs(msg, ref propId);

            AJ_Message reply = new AJ_Message();

            MarshalReplyMsg(msg, reply);

            if (propType == AJ.AJ_PROP_GET)
            {
                MarshalVariant(reply, sig);
                if (propCB != null)
                {
                    status = propCB(reply, msg, propId, this);
                }
            }
            else
            {
                string variant = UnmarshalVariant(msg);
                if (0 == String.Compare(variant, sig))
                {
                    if (propCB != null)
                    {
                        status = propCB(reply, msg, propId, this);
                    }
                }
                else
                {
                    status = AJ_Status.AJ_ERR_SIGNATURE;
                }
            }

            if (status != AJ_Status.AJ_OK)
            {
                //AJ_MarshalStatusMsg(msg, &reply, status);
            }

            DeliverMsg(reply);

            return(status);
        }
 public AJ_Status BusSetProp(AJ_Message msg, PropertyCB propCB)
 {
     return(ProcessProperty(msg, propCB, AJ.AJ_PROP_SET));
 }