public SelectionSpec[] GetStorageTraversalSpec() { SelectionSpec ssFolders = new SelectionSpec(); ssFolders.name = "visitFolders"; TraversalSpec datacenterSpec = new TraversalSpec(); datacenterSpec.name = "dcTodf"; datacenterSpec.type = "Datacenter"; datacenterSpec.path = "datastoreFolder"; datacenterSpec.skip = false; datacenterSpec.selectSet = new SelectionSpec[] { ssFolders }; TraversalSpec visitFolder = new TraversalSpec(); visitFolder.type = "Folder"; visitFolder.name = "visitFolders"; visitFolder.path = "childEntity"; visitFolder.skip = false; SelectionSpec[] ssSpecList = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; ssSpecList[0] = datacenterSpec; ssSpecList[1] = ssFolders; visitFolder.selectSet = ssSpecList; return(new SelectionSpec[] { visitFolder }); }
/// <summary> /// Create TraversalSpec for Datacenter /// </summary> /// <returns>SelectionSpec[]</returns> private SelectionSpec[] buildTraversalSpecForDatastoreToDatacenter() { // For Folder -> Folder recursion SelectionSpec sspecvfolders = new SelectionSpec(); sspecvfolders.name = "VisitFolders"; TraversalSpec visitFolders = new TraversalSpec(); visitFolders.type = "Folder"; visitFolders.path = "parent"; visitFolders.skip = false; visitFolders.name = "VisitFolders"; visitFolders.selectSet = new SelectionSpec[] { sspecvfolders }; TraversalSpec datastoreToFolder = new TraversalSpec(); datastoreToFolder.type = "Datastore"; datastoreToFolder.path = "parent"; datastoreToFolder.skip = false; datastoreToFolder.name = "DatastoreToFolder"; datastoreToFolder.selectSet = new SelectionSpec[] { sspecvfolders }; SelectionSpec[] speclist = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; speclist[0] = datastoreToFolder; speclist[1] = visitFolders; return(speclist); }
/// <summary> /// Initializes a new instance of the <see cref="VSphereSelectionSpec" /> class. /// </summary> /// <param name="selectionSpecName">The name of the selection spec to reference/reuse.</param> public VSphereSelectionSpec(string selectionSpecName) { SelectionSpec = new SelectionSpec { name = selectionSpecName }; }
public static CursorLoader NewInstance(Context context, Album album, SelectionSpec selectionSpec) { if (album == null || album.All) { return(new PictureLoader(context, MediaStore.Images.Media.ExternalContentUri, PROJECTION, IS_LARGE_SIZE, new string[] { selectionSpec.MinPixels + "" }, ORDER_BY, selectionSpec.IsEnableCamera)); } return(new PictureLoader(context, MediaStore.Images.Media.ExternalContentUri, PROJECTION, MediaStore.Images.Media.InterfaceConsts.BucketId + " = ? and (" + IS_LARGE_SIZE + ")", new string[] { album.Id, selectionSpec.MinPixels + "" }, ORDER_BY, selectionSpec.IsEnableCamera)); }
public virtual void OnCreate(FragmentActivity context, GridView gridView, SelectedUriCollection mCollection, SelectionSpec selectionSpec) { mContext = new System.WeakReference <Context>(context); mLoaderManager = context.SupportLoaderManager; this.selectionSpec = selectionSpec; albumPhotoAdapter = new PictureAdapter(context, null, mCollection); mCollection.Engine.Scrolling(gridView); gridView.Adapter = albumPhotoAdapter; }
public virtual void OnCreate(FragmentActivity activity, IOnDirectorySelectListener directorySelectListener, SelectionSpec selectionSpec, ListView listView) { mContext = new WeakReference <Context>(activity); mLoaderManager = activity.SupportLoaderManager; this.directorySelectListener = directorySelectListener; this.selectionSpec = selectionSpec; albumAdapter = new AlbumAdapter(activity, null); listView.Adapter = albumAdapter; listView.OnItemClickListener = this; }
internal BulbPlugin(Activity activity, Fragment fragment) { mContext = new WeakReference <Activity>(activity); if (fragment != null) { mFragment = new WeakReference <Fragment>(fragment); } else { mFragment = null; } MimeTypes = MimeType.AllOf(); mSelectionSpec = new SelectionSpec(); mResumeList = new List <Uri>(); }
/// <summary> /// Initializes a new instance of the <see cref="VSphereSelectionSpec" /> class. /// </summary> /// <param name="name">The name to assign this selection spec, which allows it to be referenced/reused.</param> /// <param name="managedObjectType">The type of vSphere managed object to extend the query from.</param> /// <param name="path">The name of the property to use to select objects.</param> /// <param name="selectSet">An optional set of selections to specify additional objects to retrieve.</param> public VSphereSelectionSpec(string name, VSphereManagedObjectType managedObjectType, string path, params VSphereSelectionSpec[] selectSet) { IEnumerable <SelectionSpec> set = Enumerable.Empty <SelectionSpec>(); if (selectSet != null) { set = selectSet.Select(n => n.SelectionSpec); } SelectionSpec = new TraversalSpec { name = name, type = managedObjectType.ToString(), path = path, selectSet = set.ToArray() }; }
///<summary> ///Specifications to find all the Datacenters and ///retrieve their name, vmFolder and hostFolder values. ///</summary> private static ObjectContent[] getDatacenters() { // The PropertySpec object specifies what properties // to retrieve from what type of Managed Object PropertySpec pSpec = new PropertySpec(); pSpec.type = "Datacenter"; pSpec.pathSet = new String[] { "name", "vmFolder", "hostFolder" }; // The following TraversalSpec and SelectionSpec // objects create the following relationship: // // a. Folder -> childEntity // b. recurse to a. // // This specifies that starting with a Folder // managed object, traverse through its childEntity // property. For each element in the childEntity // property, process by going back to the 'parent' // TraversalSpec. // SelectionSpec to cause Folder recursion SelectionSpec recurseFolders = new SelectionSpec(); // The name of a SelectionSpec must refer to a // TraversalSpec with the same name value. recurseFolders.name = "folder2childEntity"; // Traverse from a Folder through the 'childEntity' property TraversalSpec folder2childEntity = new TraversalSpec(); // Select the Folder type managed object folder2childEntity.type = "Folder"; // Traverse through the childEntity property of the Folder folder2childEntity.path = "childEntity"; // Name this TraversalSpec so the SelectionSpec above // can refer to it folder2childEntity.name = recurseFolders.name; // Add the SelectionSpec above to this traversal so that // we will recurse through the tree via the childEntity // property folder2childEntity.selectSet = new SelectionSpec[] { recurseFolders }; // The ObjectSpec object specifies the starting object and // any TraversalSpecs used to specify other objects // for consideration ObjectSpec oSpec = new ObjectSpec(); oSpec.obj = _sic.rootFolder; // We set skip to true because we are not interested // in retrieving properties from the root Folder oSpec.skip = true; // Specify the TraversalSpec. This is what causes // other objects besides the starting object to // be considered part of the collection process oSpec.selectSet = new SelectionSpec[] { folder2childEntity }; // The PropertyFilterSpec object is used to hold the // ObjectSpec and PropertySpec objects for the call PropertyFilterSpec pfSpec = new PropertyFilterSpec(); pfSpec.propSet = new PropertySpec[] { pSpec }; pfSpec.objectSet = new ObjectSpec[] { oSpec }; // RetrieveProperties() returns the properties // selected from the PropertyFilterSpec return _service.RetrieveProperties( _sic.propertyCollector, new PropertyFilterSpec[] { pfSpec }); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.ImageSelect); mOnClickFoldName = new AnonymousOnClickListener((v) => { if (mListViewGroup.Visibility == ViewStates.Visible) { HideFolderList(); } else { ShowFolderList(); } }); mCapturePhotoUriHolder = savedInstanceState != null?savedInstanceState.GetString(STATE_CAPTURE_PHOTO_URI) : ""; var Extra_selection = Intent.GetParcelableExtra(ImageSelectActivity.EXTRA_SELECTION_SPEC); selectionSpec = Extra_selection as SelectionSpec; // selectionSpec = (SelectionSpec)Intent.GetParcelableExtra(ImageSelectActivity.EXTRA_SELECTION_SPEC); MediaStoreCompat = new MediaStoreCompat(this, new Handler(Looper.MainLooper)); UriSelecteds.OnCreate(savedInstanceState); UriSelecteds.PrepareSelectionSpec(selectionSpec); var Extra_uris = Intent.GetParcelableArrayListExtra(EXTRA_RESUME_LIST); var uris = Extra_uris as IEnumerable <Uri>; if (uris != null) { UriSelecteds.AddRange(uris); } UriSelecteds.SetOnSelectionChange(new SelectionChange(commit)); mGridView = (GridView)FindViewById(Resource.Id.gridView); mListView = (ListView)FindViewById(Resource.Id.listView); btnBack = (ImageView)FindViewById(Resource.Id.btn_back); mListViewGroup = FindViewById(Resource.Id.listViewParent); mListViewGroup.SetOnClickListener(mOnClickFoldName); mFoldName = (TextView)FindViewById(Resource.Id.foldName); galleryTip = (ImageView)FindViewById(Resource.Id.gallery_tip); LinearLayout selectFold = (LinearLayout)FindViewById(Resource.Id.selectFold); commit = (Button)FindViewById(Resource.Id.commit); commit.SetText("确定(0/" + selectionSpec.MaxSelectable + ")", TextView.BufferType.Normal); if (selectionSpec.IsSingleChoose) { commit.Visibility = ViewStates.Gone; } mFoldName.SetText("最近图片", TextView.BufferType.Normal); selectFold.SetOnClickListener(mOnClickFoldName); albumCollection.OnCreate(this, this, selectionSpec, mListView); albumCollection.LoadAlbums(); mPhotoCollection.OnCreate(this, mGridView, UriSelecteds, selectionSpec); mPhotoCollection.LoadAllPhoto(); commit.SetOnClickListener(new AnonymousOnClickListener((v) => { if (UriSelecteds.IsEmpty) { Toast.MakeText(ApplicationContext, "未选择图片", ToastLength.Long).Show(); } else { SetResult(); } })); btnBack.SetOnClickListener(new AnonymousOnClickListener((v) => this.Finish())); if (selectionSpec.WillStartCamera()) { ShowCameraAction(); } }
public SelectionSpec[] GetStorageTraversalSpec() { SelectionSpec ssFolders = new SelectionSpec(); ssFolders.name = "visitFolders"; TraversalSpec datacenterSpec = new TraversalSpec(); datacenterSpec.name = "dcTodf"; datacenterSpec.type = "Datacenter"; datacenterSpec.path = "datastoreFolder"; datacenterSpec.skip = false; datacenterSpec.selectSet = new SelectionSpec[] { ssFolders }; TraversalSpec visitFolder = new TraversalSpec(); visitFolder.type = "Folder"; visitFolder.name = "visitFolders"; visitFolder.path = "childEntity"; visitFolder.skip = false; SelectionSpec[] ssSpecList = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; ssSpecList[0] = datacenterSpec; ssSpecList[1] = ssFolders; visitFolder.selectSet = ssSpecList; return (new SelectionSpec[] { visitFolder }); }
/// <summary> /// Get Container contents for all childEntities accessible from rootFolder /// </summary> public void GetContainerContents() { // Create a Filter Spec to Retrieve Contents for... TraversalSpec rpToVm = new TraversalSpec(); rpToVm.name = "rpToVm"; rpToVm.type = "ResourcePool"; rpToVm.path = "vm"; rpToVm.skip = false; // Recurse through all ResourcePools TraversalSpec rpToRp = new TraversalSpec(); rpToRp.name = "rpToRp"; rpToRp.type = "ResourcePool"; rpToRp.path = "resourcePool"; rpToRp.skip = false; rpToRp.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; rpToRp.selectSet[0].name = "rpToRp"; rpToRp.selectSet[1].name = "rpToVm"; // Traversal through ResourcePool branch TraversalSpec crToRp = new TraversalSpec(); crToRp.name = "crToRp"; crToRp.type = "ComputeResource"; crToRp.path = "resourcePool"; crToRp.skip = false; crToRp.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; crToRp.selectSet[0].name = "rpToRp"; crToRp.selectSet[1].name = "rpToVm"; // Traversal through host branch TraversalSpec crToH = new TraversalSpec(); crToH.name = "crToH"; crToH.type = "ComputeResource"; crToH.path = "host"; crToH.skip = false; // Traversal through hostFolder branch TraversalSpec dcToHf = new TraversalSpec(); dcToHf.name = "dcToHf"; dcToHf.type = "Datacenter"; dcToHf.path = "hostFolder"; dcToHf.skip = false; dcToHf.selectSet = new SelectionSpec[] { new SelectionSpec() }; dcToHf.selectSet[0].name = "visitFolders"; // Traversal through vmFolder branch TraversalSpec dcToVmf = new TraversalSpec(); dcToVmf.name = "dcToVmf"; dcToVmf.type = "Datacenter"; dcToVmf.path = "vmFolder"; dcToVmf.skip = false; dcToVmf.selectSet = new SelectionSpec[] { new SelectionSpec() }; dcToVmf.selectSet[0].name = "visitFolders"; // Recurse through all Hosts TraversalSpec HToVm = new TraversalSpec(); HToVm.name = "HToVm"; HToVm.type = "HostSystem"; HToVm.path = "vm"; HToVm.skip = false; HToVm.selectSet = new SelectionSpec[] { new SelectionSpec() }; HToVm.selectSet[0].name = "visitFolders"; // Recurse thriugh the folders TraversalSpec visitFolders = new TraversalSpec(); visitFolders.name = "visitFolders"; visitFolders.type = "Folder"; visitFolders.path = "childEntity"; visitFolders.skip = false; visitFolders.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec() }; visitFolders.selectSet[0].name = "visitFolders"; visitFolders.selectSet[1].name = "dcToHf"; visitFolders.selectSet[2].name = "dcToVmf"; visitFolders.selectSet[3].name = "crToH"; visitFolders.selectSet[4].name = "crToRp"; visitFolders.selectSet[5].name = "HToVm"; visitFolders.selectSet[6].name = "rpToVm"; SelectionSpec[] selectionSpecs = new SelectionSpec[] { visitFolders, dcToVmf, dcToHf, crToH, crToRp, rpToRp, HToVm, rpToVm }; PropertySpec[] propspecary = new PropertySpec[] { new PropertySpec() }; propspecary[0].all = false; propspecary[0].allSpecified = true; propspecary[0].pathSet = new string[] { "name" }; propspecary[0].type = "ManagedEntity"; PropertyFilterSpec spec = new PropertyFilterSpec(); spec.propSet = propspecary; spec.objectSet = new ObjectSpec[] { new ObjectSpec() }; spec.objectSet[0].obj = _rootFolder; spec.objectSet[0].skip = false; spec.objectSet[0].selectSet = selectionSpecs; // Recursively get all ManagedEntity ManagedObjectReferences // and the "name" property for all ManagedEntities retrieved ObjectContent[] ocary = _service.RetrieveProperties( _propCol, new PropertyFilterSpec[] { spec } ); // If we get contents back. print them out. if (ocary != null) { ObjectContent oc = null; ManagedObjectReference mor = null; DynamicProperty[] pcary = null; DynamicProperty pc = null; for (int oci = 0; oci < ocary.Length; oci++) { oc = ocary[oci]; mor = oc.obj; pcary = oc.propSet; Console.WriteLine("Object Type : " + mor.type); Console.WriteLine("Reference Value : " + mor.Value); if (pcary != null) { for (int pci = 0; pci < pcary.Length; pci++) { pc = pcary[pci]; Console.WriteLine(" Property Name : " + pc.name); if (pc != null) { if (!pc.val.GetType().IsArray) { Console.WriteLine(" Property Value : " + pc.val); } else { Array ipcary = (Array)pc.val; Console.WriteLine("Val : " + pc.val); for (int ii = 0; ii < ipcary.Length; ii++) { object oval = ipcary.GetValue(ii); if (oval.GetType().Name.IndexOf("ManagedObjectReference") >= 0) { ManagedObjectReference imor = (ManagedObjectReference)oval; Console.WriteLine("Inner Object Type : " + imor.type); Console.WriteLine("Inner Reference Value : " + imor.Value); } else { Console.WriteLine("Inner Property Value : " + oval); } } } } } } } } else { Console.WriteLine("No Managed Entities retrieved!"); } }
public PropertyFilterSpec[] NetworkSearchFilter() { PropertySpec prop; List <PropertySpec> props = new List <PropertySpec>(); TraversalSpec trav = new TraversalSpec(); List <SelectionSpec> list = new List <SelectionSpec>(); SelectionSpec sel = new SelectionSpec(); List <SelectionSpec> selectset = new List <SelectionSpec>(); ObjectSpec objectspec = new ObjectSpec(); PropertyFilterSpec filter = new PropertyFilterSpec(); trav.name = "DatacenterTraversalSpec"; trav.type = "Datacenter"; trav.path = "networkFolder"; sel.name = "FolderTraversalSpec"; selectset.Add(sel); trav.selectSet = selectset.ToArray(); list.Add(trav); trav = new TraversalSpec(); trav.name = "FolderTraversalSpec"; trav.type = "Folder"; trav.path = "childEntity"; selectset.Clear(); sel = new SelectionSpec(); sel.name = "DatacenterTraversalSpec"; selectset.Add(sel); trav.selectSet = selectset.ToArray(); list.Add(trav); prop = new PropertySpec(); prop.type = "Datacenter"; prop.pathSet = new string[] { "networkFolder", "name" }; props.Add(prop); prop = new PropertySpec(); prop.type = "Folder"; prop.pathSet = new string[] { "childEntity", "name" }; props.Add(prop); prop = new PropertySpec(); prop.type = "VmwareDistributedVirtualSwitch"; prop.pathSet = new string[] { "portgroup", "name", "parent", "uuid" }; props.Add(prop); prop = new PropertySpec(); prop.type = "DistributedVirtualPortgroup"; prop.pathSet = new string[] { "name", "key" }; props.Add(prop); objectspec = new ObjectSpec(); objectspec.obj = _sic.rootFolder; objectspec.selectSet = list.ToArray(); filter = new PropertyFilterSpec(); filter.propSet = props.ToArray(); filter.objectSet = new ObjectSpec[] { objectspec }; PropertyFilterSpec[] _dvNetworkSearchFilters = new PropertyFilterSpec[] { filter }; return(_dvNetworkSearchFilters); }
/// <summary> /// Get Container contents for all childEntities accessible from rootFolder /// </summary> public void GetContainerContents() { // Create a Filter Spec to Retrieve Contents for... TraversalSpec rpToVm = new TraversalSpec(); rpToVm.name = "rpToVm"; rpToVm.type = "ResourcePool"; rpToVm.path = "vm"; rpToVm.skip = false; // Recurse through all ResourcePools TraversalSpec rpToRp = new TraversalSpec(); rpToRp.name = "rpToRp"; rpToRp.type = "ResourcePool"; rpToRp.path = "resourcePool"; rpToRp.skip = false; rpToRp.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; rpToRp.selectSet[0].name = "rpToRp"; rpToRp.selectSet[1].name = "rpToVm"; // Traversal through ResourcePool branch TraversalSpec crToRp = new TraversalSpec(); crToRp.name = "crToRp"; crToRp.type = "ComputeResource"; crToRp.path = "resourcePool"; crToRp.skip = false; crToRp.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; crToRp.selectSet[0].name = "rpToRp"; crToRp.selectSet[1].name = "rpToVm"; // Traversal through host branch TraversalSpec crToH = new TraversalSpec(); crToH.name = "crToH"; crToH.type = "ComputeResource"; crToH.path = "host"; crToH.skip = false; // Traversal through hostFolder branch TraversalSpec dcToHf = new TraversalSpec(); dcToHf.name = "dcToHf"; dcToHf.type = "Datacenter"; dcToHf.path = "hostFolder"; dcToHf.skip = false; dcToHf.selectSet = new SelectionSpec[] { new SelectionSpec() }; dcToHf.selectSet[0].name = "visitFolders"; // Traversal through vmFolder branch TraversalSpec dcToVmf = new TraversalSpec(); dcToVmf.name = "dcToVmf"; dcToVmf.type = "Datacenter"; dcToVmf.path = "vmFolder"; dcToVmf.skip = false; dcToVmf.selectSet = new SelectionSpec[] { new SelectionSpec() }; dcToVmf.selectSet[0].name = "visitFolders"; // Recurse through all Hosts TraversalSpec HToVm = new TraversalSpec(); HToVm.name = "HToVm"; HToVm.type = "HostSystem"; HToVm.path = "vm"; HToVm.skip = false; HToVm.selectSet = new SelectionSpec[] { new SelectionSpec() }; HToVm.selectSet[0].name = "visitFolders"; // Recurse thriugh the folders TraversalSpec visitFolders = new TraversalSpec(); visitFolders.name = "visitFolders"; visitFolders.type = "Folder"; visitFolders.path = "childEntity"; visitFolders.skip = false; visitFolders.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec() }; visitFolders.selectSet[0].name = "visitFolders"; visitFolders.selectSet[1].name = "dcToHf"; visitFolders.selectSet[2].name = "dcToVmf"; visitFolders.selectSet[3].name = "crToH"; visitFolders.selectSet[4].name = "crToRp"; visitFolders.selectSet[5].name = "HToVm"; visitFolders.selectSet[6].name = "rpToVm"; SelectionSpec[] selectionSpecs = new SelectionSpec[] { visitFolders, dcToVmf, dcToHf, crToH, crToRp, rpToRp, HToVm, rpToVm }; PropertySpec[] propspecary = new PropertySpec[] { new PropertySpec() }; propspecary[0].all = false; propspecary[0].allSpecified = true; propspecary[0].pathSet = new string[] { "name" }; propspecary[0].type = "ManagedEntity"; PropertyFilterSpec spec = new PropertyFilterSpec(); spec.propSet = propspecary; spec.objectSet = new ObjectSpec[] { new ObjectSpec() }; spec.objectSet[0].obj = _rootFolder; spec.objectSet[0].skip = false; spec.objectSet[0].selectSet = selectionSpecs; // Recursively get all ManagedEntity ManagedObjectReferences // and the "name" property for all ManagedEntities retrieved ObjectContent[] ocary = _service.RetrieveProperties( _propCol, new PropertyFilterSpec[] { spec } ); // If we get contents back. print them out. if (ocary != null) { ObjectContent oc = null; ManagedObjectReference mor = null; DynamicProperty[] pcary = null; DynamicProperty pc = null; for (int oci = 0; oci < ocary.Length; oci++) { oc = ocary[oci]; mor = oc.obj; pcary = oc.propSet; Console.WriteLine("Object Type : " + mor.type); Console.WriteLine("Reference Value : " + mor.Value); if (pcary != null) { for (int pci = 0; pci < pcary.Length; pci++) { pc = pcary[pci]; Console.WriteLine(" Property Name : " + pc.name); if (pc != null) { if (!pc.val.GetType().IsArray) { Console.WriteLine(" Property Value : " + pc.val); } else { Array ipcary = (Array)pc.val; Console.WriteLine("Val : " + pc.val); for (int ii = 0; ii < ipcary.Length; ii++) { object oval = ipcary.GetValue(ii); if (oval.GetType().Name.IndexOf("ManagedObjectReference") >= 0) { ManagedObjectReference imor = (ManagedObjectReference)oval; Console.WriteLine("Inner Object Type : " + imor.type); Console.WriteLine("Inner Reference Value : " + imor.Value); } else { Console.WriteLine("Inner Property Value : " + oval); } } } } } } } } else { Console.WriteLine("No Managed Entities retrieved!"); } }
private AlbumLoader(Context context, Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder, SelectionSpec selectionSpec) : base(context, uri, projection, selection, selectionArgs, sortOrder) { }
/// <summary> /// Create TraversalSpec for Datacenter /// </summary> /// <returns>SelectionSpec[]</returns> private SelectionSpec[] buildTraversalSpecForDatastoreToDatacenter() { // For Folder -> Folder recursion SelectionSpec sspecvfolders = new SelectionSpec(); sspecvfolders.name = "VisitFolders"; TraversalSpec visitFolders = new TraversalSpec(); visitFolders.type = "Folder"; visitFolders.path = "parent"; visitFolders.skip = false; visitFolders.name = "VisitFolders"; visitFolders.selectSet = new SelectionSpec[] { sspecvfolders }; TraversalSpec datastoreToFolder = new TraversalSpec(); datastoreToFolder.type = "Datastore"; datastoreToFolder.path = "parent"; datastoreToFolder.skip = false; datastoreToFolder.name = "DatastoreToFolder"; datastoreToFolder.selectSet = new SelectionSpec[] { sspecvfolders }; SelectionSpec[] speclist = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; speclist[0] = datastoreToFolder; speclist[1] = visitFolders; return speclist; }
public void PrepareSelectionSpec(SelectionSpec spec) { mSpec = spec; }
///<summary> /// Specifications to find all the VMs in a Datacenter and /// retrieve their name and runtime.powerState values. ///</summary> private static ObjectContent[] getVMs(ManagedObjectReference dcMoRef) { // The PropertySpec object specifies what properties // retrieve from what type of Managed Object PropertySpec pSpec = new PropertySpec(); pSpec.type = "VirtualMachine"; pSpec.pathSet = new String[] { "name", "runtime.powerState" }; SelectionSpec recurseFolders = new SelectionSpec(); recurseFolders.name = "folder2childEntity"; TraversalSpec folder2childEntity = new TraversalSpec(); folder2childEntity.type = "Folder"; folder2childEntity.path = "childEntity"; folder2childEntity.name = recurseFolders.name; folder2childEntity.selectSet = new SelectionSpec[] { recurseFolders }; // Traverse from a Datacenter through the 'vmFolder' property TraversalSpec dc2vmFolder = new TraversalSpec(); dc2vmFolder.type = "Datacenter"; dc2vmFolder.path = "vmFolder"; dc2vmFolder.selectSet = new SelectionSpec[] { folder2childEntity }; ObjectSpec oSpec = new ObjectSpec(); oSpec.obj = dcMoRef; oSpec.skip = true; oSpec.selectSet = new SelectionSpec[] { dc2vmFolder }; PropertyFilterSpec pfSpec = new PropertyFilterSpec(); pfSpec.propSet = new PropertySpec[] { pSpec }; pfSpec.objectSet = new ObjectSpec[] { oSpec }; return _service.RetrieveProperties(_sic.propertyCollector, new PropertyFilterSpec[] { pfSpec }); }
private static ObjectContent[] getHosts(ManagedObjectReference dcMoRef) { // PropertySpec specifies what properties to // retrieve from what type of Managed Object PropertySpec pSpec = new PropertySpec(); pSpec.type = "HostSystem"; pSpec.pathSet = new String[] { "name", "runtime.connectionState" }; SelectionSpec recurseFolders = new SelectionSpec(); recurseFolders.name = "folder2childEntity"; TraversalSpec computeResource2host = new TraversalSpec(); computeResource2host.type = "ComputeResource"; computeResource2host.path = "host"; TraversalSpec folder2childEntity = new TraversalSpec(); folder2childEntity.type = "Folder"; folder2childEntity.path = "childEntity"; folder2childEntity.name = recurseFolders.name; // Add BOTH of the specifications to this specification folder2childEntity.selectSet = new SelectionSpec[] { recurseFolders }; // Traverse from a Datacenter through // the 'hostFolder' property TraversalSpec dc2hostFolder = new TraversalSpec(); dc2hostFolder.type = "Datacenter"; dc2hostFolder.path = "hostFolder"; dc2hostFolder.selectSet = new SelectionSpec[] { folder2childEntity }; ObjectSpec oSpec = new ObjectSpec(); oSpec.obj = dcMoRef; oSpec.skip = true; oSpec.selectSet = new SelectionSpec[] { dc2hostFolder }; PropertyFilterSpec pfSpec = new PropertyFilterSpec(); pfSpec.propSet = new PropertySpec[] { pSpec }; pfSpec.objectSet = new ObjectSpec[] { oSpec }; return _service.RetrieveProperties( _sic.propertyCollector, new PropertyFilterSpec[] { pfSpec }); }
private ObjectContent[] GetObjectProperties(string objectType, string[] properties, ManagedObjectReference o) { // Create a Filter Spec to Retrieve Contents for... TraversalSpec rpToVm = new TraversalSpec(); rpToVm.name = "rpToVm"; rpToVm.type = "ResourcePool"; rpToVm.path = "vm"; rpToVm.skip = false; // Recurse through all ResourcePools TraversalSpec rpToRp = new TraversalSpec(); rpToRp.name = "rpToRp"; rpToRp.type = "ResourcePool"; rpToRp.path = "resourcePool"; rpToRp.skip = false; rpToRp.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; rpToRp.selectSet[0].name = "rpToRp"; rpToRp.selectSet[1].name = "rpToVm"; // Traversal through ResourcePool branch TraversalSpec crToRp = new TraversalSpec(); crToRp.name = "crToRp"; crToRp.type = "ComputeResource"; crToRp.path = "resourcePool"; crToRp.skip = false; crToRp.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec() }; crToRp.selectSet[0].name = "rpToRp"; crToRp.selectSet[1].name = "rpToVm"; // Traversal through host branch TraversalSpec crToH = new TraversalSpec(); crToH.name = "crToH"; crToH.type = "ComputeResource"; crToH.path = "host"; crToH.skip = false; // Traversal through hostFolder branch TraversalSpec dcToHf = new TraversalSpec(); dcToHf.name = "dcToHf"; dcToHf.type = "Datacenter"; dcToHf.path = "hostFolder"; dcToHf.skip = false; dcToHf.selectSet = new SelectionSpec[] { new SelectionSpec() }; dcToHf.selectSet[0].name = "visitFolders"; // Traversal through vmFolder branch TraversalSpec dcToVmf = new TraversalSpec(); dcToVmf.name = "dcToVmf"; dcToVmf.type = "Datacenter"; dcToVmf.path = "vmFolder"; dcToVmf.skip = false; dcToVmf.selectSet = new SelectionSpec[] { new SelectionSpec() }; dcToVmf.selectSet[0].name = "visitFolders"; // Recurse through all Hosts TraversalSpec HToVm = new TraversalSpec(); HToVm.name = "HToVm"; HToVm.type = "HostSystem"; HToVm.path = "vm"; HToVm.skip = false; HToVm.selectSet = new SelectionSpec[] { new SelectionSpec() }; HToVm.selectSet[0].name = "visitFolders"; // Recurse thriugh the folders TraversalSpec visitFolders = new TraversalSpec(); visitFolders.name = "visitFolders"; visitFolders.type = "Folder"; visitFolders.path = "childEntity"; visitFolders.skip = false; visitFolders.selectSet = new SelectionSpec[] { new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec(), new SelectionSpec() }; visitFolders.selectSet[0].name = "visitFolders"; visitFolders.selectSet[1].name = "dcToHf"; visitFolders.selectSet[2].name = "dcToVmf"; visitFolders.selectSet[3].name = "crToH"; visitFolders.selectSet[4].name = "crToRp"; visitFolders.selectSet[5].name = "HToVm"; visitFolders.selectSet[6].name = "rpToVm"; SelectionSpec[] selectionSpecs = new SelectionSpec[] { visitFolders, dcToVmf, dcToHf, crToH, crToRp, rpToRp, HToVm, rpToVm }; PropertySpec[] propspecary = new PropertySpec[] { new PropertySpec() }; propspecary[0].all = false; propspecary[0].allSpecified = true; //propspecary[0].pathSet = new string[] { "name" }; // propspecary[0].type = "ManagedEntity"; propspecary[0].pathSet = properties; propspecary[0].type = objectType; PropertyFilterSpec spec = new PropertyFilterSpec(); spec.propSet = propspecary; spec.objectSet = new ObjectSpec[] { new ObjectSpec() }; if (o == null) { spec.objectSet[0].obj = rootF; } else { spec.objectSet[0].obj = o; } spec.objectSet[0].skip = false; spec.objectSet[0].selectSet = selectionSpecs; ObjectContent[] content = null; //try{ content = service.RetrieveProperties(propertiesCollector, new PropertyFilterSpec[] { spec }); //} //catch(Exception e){ //Logger.Append("HUBRN", Severity.ERROR, "Error retrieving Vmware properties : "+e.ToString()); //} return(content); }
public static CursorLoader NewInstance(Context context, SelectionSpec selectionSpec) { return(new AlbumLoader(context, MediaStore.Images.Media.ExternalContentUri, PROJECTION, IS_LARGE_SIZE + BUCKET_GROUP_BY, new string[] { selectionSpec.MinPixels + "" }, BUCKET_ORDER_BY, selectionSpec)); }