public CpProxyUpnpOrgContentDirectory1(CpDevice aDevice)
: base("schemas-upnp-org", "ContentDirectory", 1, aDevice)
{
OpenHome.Net.Core.Parameter param;
List<String> allowedValues = new List<String>();
iActionBrowse = new OpenHome.Net.Core.Action("Browse");
param = new ParameterString("ObjectID", allowedValues);
iActionBrowse.AddInputParameter(param);
allowedValues.Add("BrowseMetadata");
allowedValues.Add("BrowseDirectChildren");
param = new ParameterString("BrowseFlag", allowedValues);
iActionBrowse.AddInputParameter(param);
allowedValues.Clear();
param = new ParameterString("Filter", allowedValues);
iActionBrowse.AddInputParameter(param);
param = new ParameterUint("StartingIndex");
iActionBrowse.AddInputParameter(param);
param = new ParameterUint("RequestedCount");
iActionBrowse.AddInputParameter(param);
param = new ParameterString("SortCriteria", allowedValues);
iActionBrowse.AddInputParameter(param);
param = new ParameterString("Result", allowedValues);
iActionBrowse.AddOutputParameter(param);
param = new ParameterUint("NumberReturned");
iActionBrowse.AddOutputParameter(param);
param = new ParameterUint("TotalMatches");
iActionBrowse.AddOutputParameter(param);
param = new ParameterUint("UpdateID");
iActionBrowse.AddOutputParameter(param);
iActionSearch = new OpenHome.Net.Core.Action("Search");
param = new ParameterString("ContainerID", allowedValues);
iActionSearch.AddInputParameter(param);
param = new ParameterString("SearchCriteria", allowedValues);
iActionSearch.AddInputParameter(param);
param = new ParameterString("Filter", allowedValues);
iActionSearch.AddInputParameter(param);
param = new ParameterUint("StartingIndex");
iActionSearch.AddInputParameter(param);
param = new ParameterUint("RequestedCount");
iActionSearch.AddInputParameter(param);
param = new ParameterString("SortCriteria", allowedValues);
iActionSearch.AddInputParameter(param);
param = new ParameterString("Result", allowedValues);
iActionSearch.AddOutputParameter(param);
param = new ParameterUint("NumberReturned");
iActionSearch.AddOutputParameter(param);
param = new ParameterUint("TotalMatches");
iActionSearch.AddOutputParameter(param);
param = new ParameterUint("UpdateID");
iActionSearch.AddOutputParameter(param);
iActionShuffle = new OpenHome.Net.Core.Action("Shuffle");
param = new ParameterString("ContainerID", allowedValues);
iActionShuffle.AddInputParameter(param);
param = new ParameterString("Selection", allowedValues);
iActionShuffle.AddInputParameter(param);
param = new ParameterString("PlaylistID", allowedValues);
iActionShuffle.AddOutputParameter(param);
param = new ParameterString("PlaylistMetadata", allowedValues);
iActionShuffle.AddOutputParameter(param);
iActionGetSearchCapabilities = new OpenHome.Net.Core.Action("GetSearchCapabilities");
param = new ParameterString("SearchCaps", allowedValues);
iActionGetSearchCapabilities.AddOutputParameter(param);
iActionGetSortCapabilities = new OpenHome.Net.Core.Action("GetSortCapabilities");
param = new ParameterString("SortCaps", allowedValues);
iActionGetSortCapabilities.AddOutputParameter(param);
iActionCreateReference = new OpenHome.Net.Core.Action("CreateReference");
param = new ParameterString("ContainerID", allowedValues);
iActionCreateReference.AddInputParameter(param);
param = new ParameterString("ObjectID", allowedValues);
iActionCreateReference.AddInputParameter(param);
param = new ParameterString("NewID", allowedValues);
iActionCreateReference.AddOutputParameter(param);
iActionAddContainerToQueue = new OpenHome.Net.Core.Action("AddContainerToQueue");
param = new ParameterString("QueueID", allowedValues);
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterString("ContainerID", allowedValues);
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterString("SourceID", allowedValues);
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterString("SearchCriteria", allowedValues);
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterString("SortCriteria", allowedValues);
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterUint("StartIndex");
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterUint("EndIndex");
iActionAddContainerToQueue.AddInputParameter(param);
param = new ParameterUint("Position");
iActionAddContainerToQueue.AddInputParameter(param);
iActionAddItemToQueue = new OpenHome.Net.Core.Action("AddItemToQueue");
param = new ParameterString("QueueID", allowedValues);
iActionAddItemToQueue.AddInputParameter(param);
param = new ParameterString("ObjectID", allowedValues);
iActionAddItemToQueue.AddInputParameter(param);
param = new ParameterUint("Position");
iActionAddItemToQueue.AddInputParameter(param);
iActionRemoveFromQueue = new OpenHome.Net.Core.Action("RemoveFromQueue");
param = new ParameterString("QueueID", allowedValues);
iActionRemoveFromQueue.AddInputParameter(param);
param = new ParameterUint("FromPosition");
iActionRemoveFromQueue.AddInputParameter(param);
param = new ParameterUint("ToPosition");
iActionRemoveFromQueue.AddInputParameter(param);
param = new ParameterUint("ContainerUpdateID");
iActionRemoveFromQueue.AddOutputParameter(param);
iActionCreateQueue = new OpenHome.Net.Core.Action("CreateQueue");
param = new ParameterString("DesiredName", allowedValues);
iActionCreateQueue.AddInputParameter(param);
param = new ParameterString("ContainerID", allowedValues);
iActionCreateQueue.AddInputParameter(param);
param = new ParameterString("GivenName", allowedValues);
iActionCreateQueue.AddOutputParameter(param);
param = new ParameterString("QueueID", allowedValues);
iActionCreateQueue.AddOutputParameter(param);
param = new ParameterString("MetaData", allowedValues);
iActionCreateQueue.AddOutputParameter(param);
iActionRenameQueue = new OpenHome.Net.Core.Action("RenameQueue");
param = new ParameterString("QueueID", allowedValues);
iActionRenameQueue.AddInputParameter(param);
param = new ParameterString("DesiredName", allowedValues);
iActionRenameQueue.AddInputParameter(param);
param = new ParameterString("GivenName", allowedValues);
iActionRenameQueue.AddOutputParameter(param);
iActionMoveInQueue = new OpenHome.Net.Core.Action("MoveInQueue");
param = new ParameterString("ObjectID", allowedValues);
iActionMoveInQueue.AddInputParameter(param);
param = new ParameterUint("NewPosition");
iActionMoveInQueue.AddInputParameter(param);
param = new ParameterUint("ContainerUpdateID");
iActionMoveInQueue.AddOutputParameter(param);
iActionDestroyObject = new OpenHome.Net.Core.Action("DestroyObject");
param = new ParameterString("ObjectID", allowedValues);
iActionDestroyObject.AddInputParameter(param);
iActionResetDatabase = new OpenHome.Net.Core.Action("ResetDatabase");
allowedValues.Add("RESET_ALL");
allowedValues.Add("RESET_USERDATA");
allowedValues.Add("RESET_INDEX");
param = new ParameterString("Scope", allowedValues);
iActionResetDatabase.AddInputParameter(param);
allowedValues.Clear();
iActionGetSystemUpdateID = new OpenHome.Net.Core.Action("GetSystemUpdateID");
param = new ParameterUint("Id");
iActionGetSystemUpdateID.AddOutputParameter(param);
iActionGetIndexerStatus = new OpenHome.Net.Core.Action("GetIndexerStatus");
param = new ParameterString("Status", allowedValues);
iActionGetIndexerStatus.AddOutputParameter(param);
iActionGetSourceInfo = new OpenHome.Net.Core.Action("GetSourceInfo");
param = new ParameterString("SourceID", allowedValues);
iActionGetSourceInfo.AddInputParameter(param);
param = new ParameterUint("NumTracks");
iActionGetSourceInfo.AddOutputParameter(param);
param = new ParameterUint("TotalSize");
iActionGetSourceInfo.AddOutputParameter(param);
param = new ParameterUint("TotalDuration");
iActionGetSourceInfo.AddOutputParameter(param);
param = new ParameterUint("ScanProgress");
iActionGetSourceInfo.AddOutputParameter(param);
allowedValues.Add("NONE");
allowedValues.Add("SUCCESS");
allowedValues.Add("MOUNTING_FAILED");
allowedValues.Add("UNREACHABLE");
param = new ParameterString("IndexerResult", allowedValues);
iActionGetSourceInfo.AddOutputParameter(param);
allowedValues.Clear();
iActionRescanSource = new OpenHome.Net.Core.Action("RescanSource");
param = new ParameterString("SourceID", allowedValues);
iActionRescanSource.AddInputParameter(param);
allowedValues.Add("FindNewTracks");
allowedValues.Add("DoFullRescan");
param = new ParameterString("RescanMode", allowedValues);
iActionRescanSource.AddInputParameter(param);
allowedValues.Clear();
iActionQueryDatabaseState = new OpenHome.Net.Core.Action("QueryDatabaseState");
param = new ParameterUint("CurrentNumResources");
iActionQueryDatabaseState.AddOutputParameter(param);
param = new ParameterUint("CriticalNumResources");
iActionQueryDatabaseState.AddOutputParameter(param);
param = new ParameterUint("CurrentDiskUsage");
iActionQueryDatabaseState.AddOutputParameter(param);
param = new ParameterUint("MaxDiskUsage");
iActionQueryDatabaseState.AddOutputParameter(param);
iSystemUpdateID = new PropertyUint("SystemUpdateID", SystemUpdateIDPropertyChanged);
AddProperty(iSystemUpdateID);
iContainerUpdateIDs = new PropertyString("ContainerUpdateIDs", ContainerUpdateIDsPropertyChanged);
AddProperty(iContainerUpdateIDs);
iIndexerStatus = new PropertyString("IndexerStatus", IndexerStatusPropertyChanged);
AddProperty(iIndexerStatus);
iA_ARG_TYPE_Scope = new PropertyString("A_ARG_TYPE_Scope", A_ARG_TYPE_ScopePropertyChanged);
AddProperty(iA_ARG_TYPE_Scope);
iPropertyLock = new Mutex();
}