Exemple #1
0
        public IMultiTopic CreateMultiTopic(
            string name,
            string typeName,
            string subscriptionExpression,
            params string[] expressionParameters)
        {
            IMultiTopic multiTopic = null;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                if (marshaler.CopyIn(expressionParameters) == DDS.ReturnCode.Ok)
                {
                    IntPtr gapiPtr = Gapi.DomainParticipant.create_multitopic(
                        GapiPeer,
                        name,
                        typeName,
                        subscriptionExpression,
                        marshaler.GapiPtr);

                    if (gapiPtr != IntPtr.Zero)
                    {
                        multiTopic = new MultiTopic(gapiPtr);
                    }
                }
            }

            return(multiTopic);
        }
Exemple #2
0
        public ReturnCode DeleteMultiTopic(IMultiTopic t)
        {
            ReturnCode result = ReturnCode.BadParameter;

            MultiTopic multiTopic = t as MultiTopic;

            if (multiTopic != null)
            {
                result = Gapi.DomainParticipant.delete_multitopic(
                    GapiPeer,
                    multiTopic.GapiPeer);
            }

            return(result);
        }
Exemple #3
0
        public IMultiTopic CreateMultiTopic(
                string name,
                string typeName,
                string subscriptionExpression,
                params string[] expressionParameters)
        {
            IMultiTopic multiTopic = null;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                if (marshaler.CopyIn(expressionParameters) == DDS.ReturnCode.Ok)
                {
                    IntPtr gapiPtr = Gapi.DomainParticipant.create_multitopic(
                            GapiPeer,
                            name,
                            typeName,
                            subscriptionExpression,
                            marshaler.GapiPtr);

                    if (gapiPtr != IntPtr.Zero)
                    {
                        multiTopic = new MultiTopic(gapiPtr);
                    }
                }
            }

            return multiTopic;
        }