Ejemplo n.º 1
0
 void IAdapter.AssignParentCollection(IAdapterCollection parent)
 {
     AssignParentCollection(parent);
 }
Ejemplo n.º 2
0
 // Assigns the reference to the parent adapter collection that will contain this adapter.
 void IAdapter.AssignParentCollection(IAdapterCollection parent)
 {
     m_parent = parent;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Assigns the reference to the parent <see cref="IAdapterCollection"/> that will contain this <see cref="AdapterBase"/>.
 /// </summary>
 /// <param name="parent">Parent adapter collection.</param>
 protected virtual void AssignParentCollection(IAdapterCollection parent)
 {
     m_parent = parent;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets requested <see cref="IAdapter"/> and its containing <see cref="IAdapterCollection"/>.
        /// </summary>
        /// <param name="requestInfo"><see cref="ClientRequestInfo"/> instance containing the client request.</param>
        /// <param name="collection">Containing <see cref="IAdapterCollection"/> for <see cref="IAdapter"/>.</param>
        /// <returns>Requested <see cref="IAdapter"/>.</returns>
        protected virtual IAdapter GetRequestedAdapter(ClientRequestInfo requestInfo, out IAdapterCollection collection)
        {
            IAdapter adapter;
            string adapterID = requestInfo.Request.Arguments["OrderedArg1"];
            collection = GetRequestedCollection(requestInfo);

            if (!string.IsNullOrWhiteSpace(adapterID))
            {
                uint id;

                adapterID = adapterID.Trim();

                if (adapterID.IsAllNumbers() && uint.TryParse(adapterID, out id))
                {
                    // Adapter ID is numeric, try numeric lookup by adapter ID in requested collection
                    if (collection.TryGetAdapterByID(id, out adapter))
                        return adapter;

                    // Try looking for ID in any collection if all runtime ID's are unique
                    if (m_uniqueAdapterIDs && m_iaonSession.AllAdapters.TryGetAnyAdapterByID(id, out adapter, out collection))
                        return adapter;

                    collection = GetRequestedCollection(requestInfo);
                    SendResponse(requestInfo, false, "Failed to find adapter with ID \"{0}\".", id);
                }
                else
                {
                    // Adapter ID is alpha-numeric, try text-based lookup by adapter name in requested collection
                    if (collection.TryGetAdapterByName(adapterID, out adapter))
                        return adapter;

                    // Try looking for adapter name in any collection
                    if (m_iaonSession.AllAdapters.TryGetAnyAdapterByName(adapterID, out adapter, out collection))
                        return adapter;

                    collection = GetRequestedCollection(requestInfo);
                    SendResponse(requestInfo, false, "Failed to find adapter named \"{0}\".", adapterID);
                }
            }

            return null;
        }