All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ars.tars-core.1.6.2.source-code.QueryF.tars Maven / Gradle / Ivy

There is a newer version: 1.7.3
Show newest version
/**
 * Tencent is pleased to support the open source community by making Tars available.
 *
 * Copyright (C) 2016 THL A29 Limited, a Tencent company. All rights reserved.
 *
 * Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * https://opensource.org/licenses/BSD-3-Clause
 *
 * Unless required by applicable law or agreed to in writing, software distributed
 * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */

#include "EndpointF.tars"

module tars
{
    /** 
     * 获取对象endpoint的query接口
     */

    interface QueryF
    {
        /** 根据id获取对象
         *
         * @param id 对象名称
         *
         * @return  返回所有该对象的活动endpoint列表
         */
        vector findObjectById(string id);
		
		/**根据id获取所有对象,包括活动和非活动对象
		*
         * @param id         对象名称
         * @param activeEp   存活endpoint列表
         * @param inactiveEp 非存活endpoint列表
         * @return:  0-成功  others-失败
         */
		int findObjectById4Any(string id, out vector activeEp, out vector inactiveEp);

        /** 根据id获取对象所有endpoint列表,功能同findObjectByIdInSameGroup
         *
         * @param id         对象名称
         * @param activeEp   存活endpoint列表
         * @param inactiveEp 非存活endpoint列表
         * @return:  0-成功  others-失败
         */
        int findObjectById4All(string id, out vector activeEp, out vector inactiveEp);
        
        /** 根据id获取对象同组endpoint列表
         *
         * @param id         对象名称
         * @param activeEp   存活endpoint列表
         * @param inactiveEp 非存活endpoint列表
         * @return:  0-成功  others-失败
         */
        int findObjectByIdInSameGroup(string id, out vector activeEp, out vector inactiveEp);


        /** 根据id获取对象指定归属地的endpoint列表
         *
         * @param id         对象名称
         * @param activeEp   存活endpoint列表
         * @param inactiveEp 非存活endpoint列表
         * @return:  0-成功  others-失败
         */
        int findObjectByIdInSameStation(string id, string sStation, out vector activeEp, out vector inactiveEp);
		
		/** 根据id获取对象同组endpoint列表
		*
		* @param id         对象名称
		* @param setId      set全称,格式为setname.setarea.setgroup
		* @param activeEp   存活endpoint列表
		* @param inactiveEp 非存活endpoint列表
		* @return:  0-成功  others-失败
		*/
		int findObjectByIdInSameSet(string id, string setId, out vector activeEp, out vector inactiveEp);

    };

};






© 2015 - 2024 Weber Informatics LLC | Privacy Policy