178 lines
11 KiB
C++
178 lines
11 KiB
C++
// CodeGear C++Builder
|
|
// Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc.
|
|
// All rights reserved
|
|
|
|
// (DO NOT EDIT: machine generated header) 'iexWPD.pas' rev: 37.00 (Windows)
|
|
|
|
#ifndef iexWPDHPP
|
|
#define iexWPDHPP
|
|
|
|
#pragma delphiheader begin
|
|
#pragma option push
|
|
#if defined(__BORLANDC__) && !defined(__clang__)
|
|
#pragma option -w- // All warnings off
|
|
#pragma option -Vx // Zero-length empty class member
|
|
#endif
|
|
#pragma pack(push,8)
|
|
#include <System.hpp>
|
|
#include <SysInit.hpp>
|
|
#include <Winapi.ActiveX.hpp>
|
|
#include <System.Win.ComObj.hpp>
|
|
#include <Vcl.ComCtrls.hpp>
|
|
#include <System.Classes.hpp>
|
|
|
|
//-- user supplied -----------------------------------------------------------
|
|
|
|
namespace Iexwpd
|
|
{
|
|
//-- forward type declarations -----------------------------------------------
|
|
struct TIEPortableDevice;
|
|
struct TIEWPDObject;
|
|
struct TIEWPDObjectAdvancedProps;
|
|
class DELPHICLASS TIEPortableDevices;
|
|
//-- type declarations -------------------------------------------------------
|
|
typedef void __fastcall (__closure *TIEPortableDeviceLogEvent)(System::TObject* Sender, const System::UnicodeString sMsg);
|
|
|
|
enum DECLSPEC_DENUM TWPDObjectFormat : unsigned char { _WPD_OBJECT_FORMAT_3GP, _WPD_OBJECT_FORMAT_AAC, _WPD_OBJECT_FORMAT_ABSTRACT_CONTACT, _WPD_OBJECT_FORMAT_ABSTRACT_CONTACT_GROUP, _WPD_OBJECT_FORMAT_ABSTRACT_MEDIA_CAST, _WPD_OBJECT_FORMAT_AIFF, _WPD_OBJECT_FORMAT_ALL, _WPD_OBJECT_FORMAT_ASF, _WPD_OBJECT_FORMAT_ASXPLAYLIST, _WPD_OBJECT_FORMAT_AUDIBLE, _WPD_OBJECT_FORMAT_AVI, _WPD_OBJECT_FORMAT_BMP, _WPD_OBJECT_FORMAT_CIFF, _WPD_OBJECT_FORMAT_DPOF, _WPD_OBJECT_FORMAT_EXECUTABLE, _WPD_OBJECT_FORMAT_EXIF, _WPD_OBJECT_FORMAT_FLAC, _WPD_OBJECT_FORMAT_FLASHPIX, _WPD_OBJECT_FORMAT_GIF, _WPD_OBJECT_FORMAT_HTML, _WPD_OBJECT_FORMAT_ICALENDAR, _WPD_OBJECT_FORMAT_ICON, _WPD_OBJECT_FORMAT_JFIF, _WPD_OBJECT_FORMAT_JP2, _WPD_OBJECT_FORMAT_JPX,
|
|
_WPD_OBJECT_FORMAT_M3UPLAYLIST, _WPD_OBJECT_FORMAT_M4A, _WPD_OBJECT_FORMAT_MHT_COMPILED_HTML, _WPD_OBJECT_FORMAT_MICROSOFT_EXCEL, _WPD_OBJECT_FORMAT_MICROSOFT_POWERPOINT, _WPD_OBJECT_FORMAT_MICROSOFT_WFC, _WPD_OBJECT_FORMAT_MICROSOFT_WORD, _WPD_OBJECT_FORMAT_MP2, _WPD_OBJECT_FORMAT_MP3, _WPD_OBJECT_FORMAT_MP4, _WPD_OBJECT_FORMAT_MPEG, _WPD_OBJECT_FORMAT_MPLPLAYLIST, _WPD_OBJECT_FORMAT_NETWORK_ASSOCIATION, _WPD_OBJECT_FORMAT_OGG, _WPD_OBJECT_FORMAT_PCD, _WPD_OBJECT_FORMAT_PICT, _WPD_OBJECT_FORMAT_PLSPLAYLIST, _WPD_OBJECT_FORMAT_PNG, _WPD_OBJECT_FORMAT_PROPERTIES_ONLY, _WPD_OBJECT_FORMAT_SCRIPT, _WPD_OBJECT_FORMAT_TEXT, _WPD_OBJECT_FORMAT_TIFF, _WPD_OBJECT_FORMAT_TIFFEP, _WPD_OBJECT_FORMAT_TIFFIT, _WPD_OBJECT_FORMAT_UNSPECIFIED, _WPD_OBJECT_FORMAT_VCALENDAR1,
|
|
_WPD_OBJECT_FORMAT_VCARD2, _WPD_OBJECT_FORMAT_VCARD3, _WPD_OBJECT_FORMAT_WAVE, _WPD_OBJECT_FORMAT_WINDOWSIMAGEFORMAT, _WPD_OBJECT_FORMAT_WMA, _WPD_OBJECT_FORMAT_WMV, _WPD_OBJECT_FORMAT_WPLPLAYLIST, _WPD_OBJECT_FORMAT_X509V3CERTIFICATE, _WPD_OBJECT_FORMAT_XML, _WPD_OBJECT_FORMAT_UNKNOWN };
|
|
|
|
enum DECLSPEC_DENUM TWPDContentType : unsigned char { _WPD_CONTENT_TYPE_ALL, _WPD_CONTENT_TYPE_APPOINTMENT, _WPD_CONTENT_TYPE_AUDIO, _WPD_CONTENT_TYPE_AUDIO_ALBUM, _WPD_CONTENT_TYPE_CALENDAR, _WPD_CONTENT_TYPE_CERTIFICATE, _WPD_CONTENT_TYPE_CONTACT, _WPD_CONTENT_TYPE_CONTACT_GROUP, _WPD_CONTENT_TYPE_DOCUMENT, _WPD_CONTENT_TYPE_EMAIL, _WPD_CONTENT_TYPE_FUNCTIONAL_OBJECT, _WPD_CONTENT_TYPE_GENERIC_FILE, _WPD_CONTENT_TYPE_GENERIC_MESSAGE, _WPD_CONTENT_TYPE_IMAGE, _WPD_CONTENT_TYPE_IMAGE_ALBUM, _WPD_CONTENT_TYPE_MEDIA_CAST, _WPD_CONTENT_TYPE_MEMO, _WPD_CONTENT_TYPE_MIXED_CONTENT_ALBUM, _WPD_CONTENT_TYPE_NETWORK_ASSOCIATION, _WPD_CONTENT_TYPE_PLAYLIST, _WPD_CONTENT_TYPE_PROGRAM, _WPD_CONTENT_TYPE_SECTION, _WPD_CONTENT_TYPE_TASK, _WPD_CONTENT_TYPE_TELEVISION,
|
|
_WPD_CONTENT_TYPE_UNSPECIFIED, _WPD_CONTENT_TYPE_VIDEO, _WPD_CONTENT_TYPE_VIDEO_ALBUM, _WPD_CONTENT_TYPE_WIRELESS_PROFILE, _WPD_CONTENT_TYPE_FOLDER, _WPD_CONTENT_TYPE_UNKNOWN };
|
|
|
|
enum DECLSPEC_DENUM TIEWPDObjectType : unsigned char { iewFile, iewFolder };
|
|
|
|
typedef System::Set<TIEWPDObjectType, TIEWPDObjectType::iewFile, TIEWPDObjectType::iewFolder> TIEWPDObjectTypes;
|
|
|
|
struct DECLSPEC_DRECORD TIEPortableDevice
|
|
{
|
|
public:
|
|
System::WideString ID;
|
|
System::WideString FriendlyName;
|
|
System::WideString Description;
|
|
System::WideString Manufacturer;
|
|
bool IsDrive;
|
|
};
|
|
|
|
|
|
typedef TIEPortableDevice *PIEPortableDevice;
|
|
|
|
struct DECLSPEC_DRECORD TIEWPDObject
|
|
{
|
|
public:
|
|
System::WideString ID;
|
|
System::WideString FriendlyName;
|
|
System::WideString Filename;
|
|
System::WideString Path;
|
|
TIEWPDObjectType ObjectType;
|
|
};
|
|
|
|
|
|
typedef TIEWPDObject *PIEWPDObject;
|
|
|
|
struct DECLSPEC_DRECORD TIEWPDObjectAdvancedProps
|
|
{
|
|
public:
|
|
System::WideString ObjectID;
|
|
System::WideString ParentID;
|
|
System::WideString FriendlyName;
|
|
System::WideString Filename;
|
|
System::WideString PersistentUniqueID;
|
|
TWPDObjectFormat ObjectFormat;
|
|
TWPDContentType ContentType;
|
|
bool IsHidden;
|
|
bool IsSystem;
|
|
System::TDateTime DateCreated;
|
|
System::TDateTime DateModified;
|
|
unsigned __int64 SizeBytes;
|
|
};
|
|
|
|
|
|
class PASCALIMPLEMENTATION TIEPortableDevices : public System::TObject
|
|
{
|
|
typedef System::TObject inherited;
|
|
|
|
private:
|
|
System::Classes::TList* fDevices;
|
|
System::Classes::TList* fObjects;
|
|
bool fDevicesInitialized;
|
|
bool fObjectsInitialized;
|
|
bool fSorted;
|
|
TIEPortableDeviceLogEvent fOnLog;
|
|
System::UnicodeString fLastError;
|
|
System::WideString fActiveDeviceID;
|
|
System::WideString fActiveFolderID;
|
|
bool fHideEmptyDevices;
|
|
void __fastcall Clear();
|
|
void __fastcall ClearObjectList();
|
|
bool __fastcall DeviceContainsObjects(const System::WideString sDeviceID);
|
|
void __fastcall AddToLog(const System::UnicodeString sMsg);
|
|
TIEPortableDevice __fastcall GetDevices(int Index);
|
|
int __fastcall GetDeviceCount();
|
|
void __fastcall CheckDevicesInitialized();
|
|
TIEWPDObject __fastcall GetObjects(int Index);
|
|
int __fastcall GetObjectCount();
|
|
void __fastcall CheckObjectsInitialized();
|
|
void __fastcall SetActiveDeviceID(const System::WideString Value);
|
|
void __fastcall SetActiveFolderID(const System::WideString Value);
|
|
bool __fastcall GetCanNavigateToParent();
|
|
|
|
public:
|
|
__fastcall TIEPortableDevices();
|
|
__fastcall virtual ~TIEPortableDevices();
|
|
__property System::WideString ActiveDeviceID = {read=fActiveDeviceID, write=SetActiveDeviceID};
|
|
__property System::WideString ActiveFolderID = {read=fActiveFolderID, write=SetActiveFolderID};
|
|
bool __fastcall RefreshDevices();
|
|
__property TIEPortableDevice Devices[int Index] = {read=GetDevices};
|
|
__property int DeviceCount = {read=GetDeviceCount, nodefault};
|
|
int __fastcall DeviceIDToIndex(const System::WideString sDeviceID);
|
|
bool __fastcall NavigateToFolderID(const System::WideString sFolderID, bool bIncludeSubFolders = false, TIEWPDObjectTypes GetTypes = (TIEWPDObjectTypes() << TIEWPDObjectType::iewFile << TIEWPDObjectType::iewFolder ))/* overload */;
|
|
bool __fastcall NavigateToFolderID(const System::WideString sDeviceID, const System::WideString sFolderID, bool bIncludeSubFolders = false, TIEWPDObjectTypes GetTypes = (TIEWPDObjectTypes() << TIEWPDObjectType::iewFile << TIEWPDObjectType::iewFolder ))/* overload */;
|
|
bool __fastcall NavigateToFolderPath(const System::WideString sPath, bool bIncludeSubFolders = false, TIEWPDObjectTypes GetTypes = (TIEWPDObjectTypes() << TIEWPDObjectType::iewFile << TIEWPDObjectType::iewFolder ))/* overload */;
|
|
bool __fastcall NavigateToFolderPath(const System::WideString sDeviceID, const System::WideString sPath, bool bIncludeSubFolders = false, TIEWPDObjectTypes GetTypes = (TIEWPDObjectTypes() << TIEWPDObjectType::iewFile << TIEWPDObjectType::iewFolder ))/* overload */;
|
|
bool __fastcall FindFilesOfType(const System::WideString sDeviceID, const System::WideString sFolderID, System::UnicodeString sFileExtensions, int iMaxDepth = 0x0)/* overload */;
|
|
bool __fastcall FindFilesOfType(const System::WideString sFolderID, System::UnicodeString sFileExtensions, int iMaxDepth = 0x0)/* overload */;
|
|
bool __fastcall FindFilesByName(const System::WideString sDeviceID, const System::WideString sFolderID, const System::WideString sSearchText, TIEWPDObjectTypes GetTypes = (TIEWPDObjectTypes() << TIEWPDObjectType::iewFile << TIEWPDObjectType::iewFolder ), int iMaxDepth = 0x0)/* overload */;
|
|
bool __fastcall FindFilesByName(const System::WideString sFolderID, const System::WideString sSearchText, TIEWPDObjectTypes GetTypes = (TIEWPDObjectTypes() << TIEWPDObjectType::iewFile << TIEWPDObjectType::iewFolder ), int iMaxDepth = 0x0)/* overload */;
|
|
bool __fastcall NavigateToParent();
|
|
__property TIEWPDObject Objects[int Index] = {read=GetObjects};
|
|
__property int ObjectCount = {read=GetObjectCount, nodefault};
|
|
int __fastcall ObjectIDToIndex(const System::WideString sObjectID);
|
|
bool __fastcall ObjectIsFolder(const System::WideString sObjectID)/* overload */;
|
|
bool __fastcall ObjectIsFolder(int Index)/* overload */;
|
|
bool __fastcall GetObjectAdvancedProps(const System::WideString sObjectID, /* out */ TIEWPDObjectAdvancedProps &DestProps)/* overload */;
|
|
bool __fastcall GetObjectAdvancedProps(int Index, /* out */ TIEWPDObjectAdvancedProps &DestProps)/* overload */;
|
|
bool __fastcall GetObjectAdvancedProps(const System::WideString sDeviceID, const System::WideString sObjectID, /* out */ TIEWPDObjectAdvancedProps &DestProps)/* overload */;
|
|
bool __fastcall CopyFileFromDevice(const System::WideString sDeviceID, const System::WideString sObjectID, const System::WideString sDestFilename);
|
|
bool __fastcall CopyStreamFromDevice(const System::WideString sDeviceID, const System::WideString sObjectID, System::Classes::TMemoryStream* &ssDestStream);
|
|
bool __fastcall Cancel();
|
|
bool __fastcall CopyFileToDevice(const System::WideString sDeviceID, const System::WideString sFolderID, const System::WideString sSourceFilename);
|
|
int __fastcall DeleteFromDevice(const System::WideString sDeviceID, const System::WideString sObjectID, bool bDeleteSubObjects, System::WideString &sResultText)/* overload */;
|
|
int __fastcall DeleteFromDevice(const System::WideString sDeviceID, const System::WideString sObjectID, bool bDeleteSubObjects = true)/* overload */;
|
|
int __fastcall DeleteFromDevice(const System::WideString sDeviceID, System::Classes::TStrings* ssObjectIDs, bool bDeleteSubObjects = true)/* overload */;
|
|
int __fastcall DeleteFromDevice(const System::WideString sDeviceID, System::Classes::TStrings* ssObjectIDs, bool bDeleteSubObjects, System::WideString &sResultText)/* overload */;
|
|
System::WideString __fastcall LookupDeviceFriendlyName(const System::WideString sDeviceID);
|
|
System::WideString __fastcall LookupObjectFriendlyName(const System::WideString sObjectID)/* overload */;
|
|
System::WideString __fastcall LookupObjectFriendlyName(const System::WideString sDeviceID, const System::WideString sObjectID)/* overload */;
|
|
System::WideString __fastcall PathToFolderID(const System::WideString sPath)/* overload */;
|
|
System::WideString __fastcall PathToFolderID(const System::WideString sDeviceID, const System::WideString sPath)/* overload */;
|
|
__property System::UnicodeString LastError = {read=fLastError};
|
|
__property TIEPortableDeviceLogEvent OnLog = {read=fOnLog, write=fOnLog};
|
|
__property bool CanNavigateToParent = {read=GetCanNavigateToParent, nodefault};
|
|
__property bool Sorted = {read=fSorted, write=fSorted, nodefault};
|
|
__property bool HideEmptyDevices = {read=fHideEmptyDevices, write=fHideEmptyDevices, nodefault};
|
|
};
|
|
|
|
|
|
//-- var, const, procedure ---------------------------------------------------
|
|
} /* namespace Iexwpd */
|
|
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEXWPD)
|
|
using namespace Iexwpd;
|
|
#endif
|
|
#pragma pack(pop)
|
|
#pragma option pop
|
|
|
|
#pragma delphiheader end.
|
|
//-- end unit ----------------------------------------------------------------
|
|
#endif // iexWPDHPP
|