예제 #1
0
        private IAssetService GetConnector (string url)
        {
            IAssetService connector = null;
            lock (m_connectors)
            {
                if (m_connectors.ContainsKey (url))
                {
                    connector = m_connectors[url];
                }
                else
                {
                    string connectorType = m_registry.RequestModuleInterface<IHeloServiceConnector> ().Helo (url);
                    if (connectorType == "opensim-simian")
                        connector = new OpenSim.Services.Connectors.SimianGrid.SimianAssetServiceConnector (url);
                    else
                        connector = new OpenSim.Services.Connectors.AssetServicesConnector (url + "/assets");

                    m_connectors[url] = connector;
                }
            }
            return connector;
        }
        private IAssetService GetConnector(string url)
        {
            IAssetService connector = null;
            lock (m_connectors)
            {
                if (m_connectors.ContainsKey (url))
                {
                    connector = m_connectors[url];
                }
                else
                {
                    // Still not as flexible as I would like this to be,
                    // but good enough for now
                    string connectorType = new HeloServicesConnector (url).Helo ();
                    m_log.DebugFormat ("[HG ASSET SERVICE]: HELO returned {0}", connectorType);
                    if (connectorType == "opensim-simian")
                        connector = new OpenSim.Services.Connectors.SimianGrid.SimianAssetServiceConnector (url);
                    else
                        connector = new OpenSim.Services.Connectors.AssetServicesConnector (url);

                    m_connectors.Add (url, connector);
                }
            }
            return connector;
        }