Beispiel #1
0
        public ReturnCode GetSubscriptionMatchedStatus(
            ref SubscriptionMatchedStatus status)
        {
            ReturnCode result;

            ReportStack.Start();
            if (this.rlReq_isAlive)
            {
                if (status == null)
                {
                    status = new SubscriptionMatchedStatus();
                }
                GCHandle statusGCHandle = GCHandle.Alloc(status, GCHandleType.Normal);
                result = uResultToReturnCode(
                    User.Reader.GetSubscriptionMatchStatus(
                        rlReq_UserPeer, 1, SubscriptionMatchedStatusMarshaler.CopyOut, GCHandle.ToIntPtr(statusGCHandle)));
                status = statusGCHandle.Target as SubscriptionMatchedStatus;
                statusGCHandle.Free();
            }
            else
            {
                result = DDS.ReturnCode.AlreadyDeleted;
            }
            ReportStack.Flush(this, result != ReturnCode.Ok);
            return(result);
        }
Beispiel #2
0
 private void PrivateSubscriptionMatched(IntPtr entityData, IntPtr enityPtr, SubscriptionMatchedStatus status)
 {
     if (listener != null)
     {
         IDataReader dataReader = (IDataReader)OpenSplice.SacsSuperClass.fromUserData(enityPtr);
         listener.OnSubscriptionMatched(dataReader, status);
     }
 }
 internal static V_RESULT CopyOut(ref v_topicMatchInfo from, SubscriptionMatchedStatus to)
 {
     to.TotalCount            = from.totalCount;
     to.TotalCountChange      = from.totalChanged;
     to.CurrentCount          = from.currentCount;
     to.CurrentCountChange    = from.currentChanged;
     to.LastPublicationHandle = User.InstanceHandle.FromGID(from.instanceHandle);
     return(V_RESULT.OK);
 }
Beispiel #4
0
 public ReturnCode GetSubscriptionMatchedStatus(
     ref SubscriptionMatchedStatus status)
 {
     if (status == null)
     {
         status = new SubscriptionMatchedStatus();
     }
     return(Gapi.DataReader.get_subscription_matched_status(GapiPeer, status));
 }
Beispiel #5
0
 /*! This event is raised when the DataReader discovered a matching DataWriter */
 public void OnSubscriptionMatchedEventHendler(DataReader dataReader, SubscriptionMatchedStatus status)
 {
     if (status.CurrentCountChange > 0)
     {
         Console.WriteLine("in dataReader: " + dataReader.Name + " " + status.CurrentCountChange + " subscription matched");
     }
     else
     {
         Console.WriteLine("in dataReader: " + dataReader.Name + " " + status.CurrentCountChange + " an existing matched DataWriter has been deleted");
     }
 }
        internal static V_RESULT CopyOut(IntPtr fromPtr, IntPtr toPtr)
        {
            v_topicMatchInfo from = (v_topicMatchInfo)Marshal.PtrToStructure(fromPtr, type);

            GCHandle toGCHandle          = GCHandle.FromIntPtr(toPtr);
            SubscriptionMatchedStatus to = toGCHandle.Target as SubscriptionMatchedStatus;

            V_RESULT result = CopyOut(ref from, to);

            toGCHandle.Target = to;
            return(result);
        }
 public void OnSubscriptionMatched(
     IDataReader the_reader, SubscriptionMatchedStatus status)
 {
 }
Beispiel #8
0
 public static extern ReturnCode get_subscription_matched_status(
     IntPtr _this,
     SubscriptionMatchedStatus status
     );
Beispiel #9
0
 public static extern ReturnCode get_subscription_matched_status(
     IntPtr _this,
     SubscriptionMatchedStatus status
     );
 private void PrivateSubscriptionMatched(
         IntPtr entityData, 
         IntPtr enityPtr, 
         SubscriptionMatchedStatus status)
 {
     if (listener != null)
     {
         IDataReader dataReader = (IDataReader)OpenSplice.SacsSuperClass.fromUserData(enityPtr);
         listener.OnSubscriptionMatched(dataReader, status);
     }
 }
 public void OnSubscriptionMatched(IDataReader entityInterface, SubscriptionMatchedStatus status)
 {
 }
Beispiel #12
0
 public override void OnSubscriptionMatched(DataReader reader, SubscriptionMatchedStatus status)
 {
     Console.WriteLine(nameof(OnSubscriptionMatched));
 }
 public void OnSubscriptionMatched(IDataReader entityInterface, SubscriptionMatchedStatus status)
 {
     Console.WriteLine("=== [ListenerDataListener::OnSubscriptionMatched] : triggered");
 }
Beispiel #14
0
 public override void OnSubscriptionMatched(DataReader reader, SubscriptionMatchedStatus status)
 {
     SubscriptionMatched?.Invoke(reader, status);
 }