/// <summary> /// Gets the list of objects. /// </summary> /// <param name="parentObject">The parent object handle. If parentHandle is 0, it means "root folder" of mtp storage.</param> /// <param name="fileType">The file type what you want.</param> /// <returns>List of objects.</returns> /// <feature>http://tizen.org/feature/network.mtp</feature> /// <remarks> /// http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage. /// http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage. /// </remarks> /// <exception cref="NotSupportedException">Thrown when Mtp is not supported.</exception> /// <exception cref="ArgumentException">Thrown when method is failed due to an invalid parameter.</exception> /// <exception cref="InvalidOperationException">Thrown when the method failed due to invalid operation.</exception> /// <since_tizen> 4 </since_tizen> public IEnumerable <MtpObject> GetObjectList(MtpObject parentObject, MtpFileType fileType) { IntPtr objectPtr; int count = 0; int ret = Interop.Mtp.GetObjectHandles(_deviceHandle, _storageHandle, parentObject.GetHandle(), (int)fileType, out objectPtr, out count); if (ret != (int)MtpError.None) { Log.Error(Globals.LogTag, "Failed to get object handle lists, Error - " + (MtpError)ret); MtpErrorFactory.ThrowMtpException(ret); } for (int i = 0; i < count; i++) { int objectID = Marshal.ReadInt32(objectPtr); MtpObject objectItem = new MtpObject(_deviceHandle, objectID); _objectList.Add(objectItem); objectPtr += sizeof(int); } return(_objectList); }
/// <summary> /// Gets the root folder object. /// </summary> /// <returns>List of storage objects.</returns> /// <feature>http://tizen.org/feature/network.mtp</feature> /// <remarks> /// http://tizen.org/privilege/mediastorage is needed if input or output path are relevant to media storage. /// http://tizen.org/privilege/externalstorage is needed if input or output path are relevant to external storage. /// </remarks> /// <since_tizen> 4 </since_tizen> public MtpObject GetRootObject() { _rootObject = new MtpObject(_deviceHandle, 0); return(_rootObject); }