Пример #1
0
        public IQueryCondition CreateQueryCondition(
                SampleStateKind sampleStates, 
                ViewStateKind viewStates,
                InstanceStateKind instanceStates, 
                string queryExpression, 
                params string[] queryParameters)
        {
            IQueryCondition queryCondition = null;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                if (marshaler.CopyIn(queryParameters) == DDS.ReturnCode.Ok)
                {
                    IntPtr gapiPtr = Gapi.DataReader.create_querycondition(
                            GapiPeer,
                            sampleStates,
                            viewStates,
                            instanceStates,
                            queryExpression,
                            marshaler.GapiPtr);

                    if (gapiPtr != IntPtr.Zero)
                    {
                        queryCondition = new QueryCondition(gapiPtr);
                    }
                }
            }

            return queryCondition;
        }
Пример #2
0
        /// <summary>
        /// This operation changes the query parameters associated with the QueryCondition.
        /// </summary>
        /// <param name="queryParameters">A sequence of strings which are the parameters used in the SQL query string
        /// (i.e., the “%n” tokens in the expression).</param>
        /// <returns>Return codes are:Ok,Error,BadParameter,AlreadyDeleted or OutOfResources.</returns>
        public ReturnCode SetQueryParameters(params string[] queryParameters)
        {
            ReturnCode result = ReturnCode.Error;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                if (marshaler.CopyIn(queryParameters) == ReturnCode.Ok)
                {
                    result = Gapi.QueryCondition.set_query_parameters(
                        GapiPeer,
                        marshaler.GapiPtr);
                }
            }

            return(result);
        }
Пример #3
0
        public ReturnCode SetExpressionParameters(params string[] expressionParameters)
        {
            ReturnCode result;
            
            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                result = marshaler.CopyIn(expressionParameters);
                if (result == DDS.ReturnCode.Ok)
                {
                    result = Gapi.ContentFilteredTopic.set_expression_parameters(
                            GapiPeer,
                            marshaler.GapiPtr);
                }
            }

            return result;
        }
Пример #4
0
        public ReturnCode SetExpressionParameters(params string[] expressionParameters)
        {
            ReturnCode result;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                result = marshaler.CopyIn(expressionParameters);
                if (result == DDS.ReturnCode.Ok)
                {
                    result = Gapi.ContentFilteredTopic.set_expression_parameters(
                        GapiPeer,
                        marshaler.GapiPtr);
                }
            }

            return(result);
        }
Пример #5
0
        /// <summary>
        /// This operation obtains the queryParameters associated with the QueryCondition
        /// </summary>
        /// <param name="queryParameters">A reference to a sequence of strings that will be 
        /// used to store the parameters used in the SQL expression</param>
        /// <returns>Return codes are:Ok,Error,AlreadyDeleted or OutOfResources.</returns>
        public ReturnCode GetQueryParameters(ref string[] queryParameters)
        {
            ReturnCode result = ReturnCode.Error;
            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                result = Gapi.QueryCondition.get_query_parameters(
                        GapiPeer,
                        marshaler.GapiPtr);

                if (result == ReturnCode.Ok)
                {
                    marshaler.CopyOut(ref queryParameters);
                }
            }

            return result;
        }
Пример #6
0
        /// <summary>
        /// This operation obtains the queryParameters associated with the QueryCondition
        /// </summary>
        /// <param name="queryParameters">A reference to a sequence of strings that will be
        /// used to store the parameters used in the SQL expression</param>
        /// <returns>Return codes are:Ok,Error,AlreadyDeleted or OutOfResources.</returns>
        public ReturnCode GetQueryParameters(ref string[] queryParameters)
        {
            ReturnCode result = ReturnCode.Error;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                result = Gapi.QueryCondition.get_query_parameters(
                    GapiPeer,
                    marshaler.GapiPtr);

                if (result == ReturnCode.Ok)
                {
                    marshaler.CopyOut(ref queryParameters);
                }
            }

            return(result);
        }
Пример #7
0
        public ReturnCode GetExpressionParameters(ref string[] expressionParameters)
        {
            ReturnCode result;
            
            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                result = Gapi.ContentFilteredTopic.get_expression_parameters(
                        GapiPeer,
                        marshaler.GapiPtr);

                if (result == ReturnCode.Ok)
                {
                    marshaler.CopyOut(ref expressionParameters);
                }
                else
                {
                    expressionParameters = new string[0];
                }
            }

			return result;
        }
Пример #8
0
        public ReturnCode GetExpressionParameters(ref string[] expressionParameters)
        {
            ReturnCode result;

            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                result = Gapi.ContentFilteredTopic.get_expression_parameters(
                    GapiPeer,
                    marshaler.GapiPtr);

                if (result == ReturnCode.Ok)
                {
                    marshaler.CopyOut(ref expressionParameters);
                }
                else
                {
                    expressionParameters = new string[0];
                }
            }

            return(result);
        }
Пример #9
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;
        }
Пример #10
0
        public IContentFilteredTopic CreateContentFilteredTopic(
                string name,
                ITopic relatedTopic,
                string filterExpression,
                params string[] expressionParameters)
        {
            IContentFilteredTopic contentFilteredTopic = null;

            Topic related = relatedTopic as Topic;
            if (relatedTopic != null)
            {
                using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
                {
                    if (marshaler.CopyIn(expressionParameters) == DDS.ReturnCode.Ok)
                    {
                        IntPtr gapiPtr = Gapi.DomainParticipant.create_contentfilteredtopic(
                                GapiPeer,
                                name,
                                related.GapiPeer,
                                filterExpression,
                                marshaler.GapiPtr);
                        if (gapiPtr != IntPtr.Zero)
                        {
                            contentFilteredTopic = new ContentFilteredTopic(gapiPtr);
                        }
                    }

                }
            }

            return contentFilteredTopic;
        }
Пример #11
0
        /// <summary>
        /// This operation changes the query parameters associated with the QueryCondition.
        /// </summary>
        /// <param name="queryParameters">A sequence of strings which are the parameters used in the SQL query string
        /// (i.e., the “%n” tokens in the expression).</param>
        /// <returns>Return codes are:Ok,Error,BadParameter,AlreadyDeleted or OutOfResources.</returns>
        public ReturnCode SetQueryParameters(params string[] queryParameters)
        {
            ReturnCode result = ReturnCode.Error;
            using (SequenceStringMarshaler marshaler = new SequenceStringMarshaler())
            {
                if (marshaler.CopyIn(queryParameters) == ReturnCode.Ok)
                {
                    result = Gapi.QueryCondition.set_query_parameters(
                            GapiPeer,
                            marshaler.GapiPtr);
                }
            }

            return result;
        }