Communicator and other Core Local Features

Communicators


module Ice {
    local interface Communicator {
        string proxyToString(Object* obj);
        Object* stringToProxy(string str);
        PropertyDict proxyToProperty(Object* proxy, string property);
        Object* propertyToProxy(string property);
        Identity stringToIdentity(string str);
        string identityToString(Identity id);
        ObjectAdapter createObjectAdapter(string name);
        ObjectAdapter createObjectAdapterWithEndpoints(string name, string endpoints);
        ObjectAdapter createObjectAdapterWithRouter(string name, Router* rtr);
        void shutdown();
        void waitForShutdown();
        bool isShutdown();
        void destroy();
        // ...
    };
    // ...
};

Communicator Initialization

namespace Ice {
    struct InitializationData {
        PropertiesPtr properties;
        LoggerPtr logger;
        Instrumentation::CommunicatorObserverPtr observer;
        StringConverterPtr stringConverter;
        WstringConverterPtr wstringConverter;
        ThreadNotificationPtr threadHook;
        DispatcherPtr dispatcher;
        CompactIdResolverPtr compactIdResolver;
        BatchRequestInterceptorPtr batchRequestInterceptor;
    };
}

namespace Ice {
    CommunicatorPtr initialize(int&, char*[],
                const InitializationData& = InitializationData(),
                Int = ICE_INT_VERSION);
    CommunicatorPtr initialize(StringSeq&,
                const InitializationData& = InitializationData(),
                Int = ICE_INT_VERSION);
    CommunicatorPtr initialize(
                const InitializationData& = InitializationData()
                Int = ICE_INT_VERSION);
}

Object Identity

module Ice {
    struct Identity {
        string name;
        string category;
    };
};


猜你喜欢

转载自blog.csdn.net/knightonhourse/article/details/80674302