// FtpTree.odl : type library source for OLE Control project. // This file will be processed by the Make Type Library (mktyplib) tool to // produce the type library (FtpTree.tlb) that will become a resource in // FtpTree.ocx. #include #include [ uuid(C22877C0-4214-11D0-B0DA-080009C351D7), version(1.0), helpstring("Rhino Software FtpTree OLE Control module"), control ] library FTPTREELib { importlib(STDOLE_TLB); importlib(STDTYPE_TLB); #include "AutoUploadIDs.h" #include "SyncFoldersMode.h" typedef enum { Flat = 0, ThreeD = 1 } AppearanceConstants; typedef enum { SiteSite = 0, Direct = 1, UserAfterLogon = 2, OpenSite = 3, Socks4 = 4, Socks5 = 5, Socks4a = 6, FireUserIDAt = 7, HTTP = 8 } AccessTypeConstants; typedef enum { InsertSorted = 0, InsertSortedNoCase = 1, InsertAtEnd = 2, nsertAtTop = 3 } ShortCutFolderInsertConstants; typedef enum { NoPasswordEncryption = 0, MD4PasswordEncryption = 1, MD5PasswordEncryption = 2 } PasswordSecurityMode; coclass FtpTreeItem; coclass FtpTreeItems; coclass FtpFile; coclass FtpConn; // Primary dispatch interface for CFtpTreeCtrl [ uuid(C22877C1-4214-11D0-B0DA-080009C351D7), helpstring("Dispatch interface for FtpTree Control"), hidden ] dispinterface _DFtpTree { properties: [id(DISPID_FONT), bindable] IFontDisp* Font; [id(DISPID_ENABLED), bindable, requestedit] boolean Enabled; [id(DISPID_BORDERSTYLE), bindable, requestedit] short BorderStyle; [id(DISPID_HWND)] OLE_HANDLE hWnd; // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CFtpTreeCtrl) [id(1), helpstring("Set to True to allow the View option in the pop-up menu.")] boolean AllowView; [id(2), helpstring("Set to True to allow the Open option in the pop-up menu.")] boolean AllowOpen; [id(3), helpstring("Set to True to allow the Explore option in the pop-up menu.")] boolean AllowExplore; [id(4), helpstring("Set to True to execute the Open option from the pop-up menu.")] boolean ExecuteOpen; [id(5), helpstring("Set to True to execute the View option from the pop-up menu.")] boolean ExecuteView; [id(6), helpstring("Set to True to execute the Explore option from the pop-up menu.")] boolean ExecuteExplore; [id(7), helpstring("Set to True to receive the Short Cut Update event.")] boolean ShortCutDisplayUpdate; [id(8), helpstring("Set to True to allow the Create Folder Short Cut option in the pop-up menu.")] boolean AllowCreateFolderShortCut; [id(9), helpstring("Set to True to allow the Remove Folder Short Cut option in the pop-up menu.")] boolean AllowRemoveFolderShortCut; [id(10), helpstring("Set to True to execute the Create Folder Short Cut option from the pop-up menu.")] boolean ExecuteCreateFolderShortCut; [id(11), helpstring("Set to True to execute the Remove Folder Short Cut option from the pop-up menu.")] boolean ExecuteRemoveFolderShortCut; [id(12), helpstring("Set to True to convert all uploaded files from all upper case (only) to lower case. Has no effect on mixed case file names.")] boolean ConvertUpperToLower; [id(13), helpstring("The name to use for displaying the site.")] BSTR SiteDisplayName; [id(14), helpstring("Set to True to hide all files starting with this character.")] long HideStartingWith; [id(17), helpstring("The current FTP site.")] BSTR FtpSite; [id(18), helpstring("The current default directory (the root of the tree)")] BSTR DefaultDirectory; [id(19), helpstring("Set to True to allow the Get option in the pop-up menu.")] boolean AllowGet; [id(20), helpstring("Set to True to allow the Properties option in the pop-up menu.")] boolean AllowProperties; [id(21), helpstring("Set to True to allow the Put option in the pop-up menu.")] boolean AllowPut; [id(22), helpstring("Set to True to allow the Remove option in the pop-up menu.")] boolean AllowRemove; [id(23), helpstring("Set to True to allow the Remove Folder option in the pop-up menu.")] boolean AllowRemoveDir; [id(24), helpstring("Set to True to allow the Create Folder option in the pop-up menu.")] boolean AllowCreateDir; [id(25), helpstring("Set to True to execute the Get option from the pop-up menu.")] boolean ExecuteGet; [id(26), helpstring("Set to True to execute the Put option from the pop-up menu.")] boolean ExecutePut; [id(27), helpstring("Set to True to execute the Remove option from the pop-up menu.")] boolean ExecuteRemove; [id(28), helpstring("Set to True to execute the Remove Folder option from the pop-up menu.")] boolean ExecuteRemoveDir; [id(29), helpstring("Set to True to execute the Create Folder option from the pop-up menu.")] boolean ExecuteCreateDir; [id(30), helpstring("Set to True to execute the File Information option from the pop-up menu.")] boolean ExecuteFileInfo; [id(31), helpstring("Set to True to allow the File Information option in the pop-up menu.")] boolean AllowFileInfo; [id(32), helpstring("Set to True to show both files and folders in the tree.")] boolean ShowFiles; [id(33), helpstring("Set to True to show the connected FTP site as the root of the tree.")] boolean ShowFtpSite; [id(34), helpstring("Always show the currently selected item.")] boolean ShowSelAlways; [id(35), helpstring("Set to True to allow the FtpTree to use the open bitmap on a selection change, not just opening the node in the tree.")] boolean UseOpenOnSelChange; [id(36), helpstring("The current User ID. Changing does not cause a reconnect.")] BSTR UserID; [id(37), helpstring("The current password. Changing does not cuase a reconnect.")] BSTR Password; [id(38), helpstring("Allow the user to edit file and folder names in place.")] boolean AllowEditLabels; [id(39), helpstring("Automatically browse a site after creating the window.")] boolean AutoBrowse; [id(40), helpstring("The type of required network connection")] AccessTypeConstants AccessType; [id(41), helpstring("The default directory to use for file dialogs when downloading.")] BSTR DownloadDirectory; [id(42), helpstring("The default directory to use for file dialogs when uploading.")] BSTR UploadDirectory; [id(43), helpstring("Set this option to True to use PASV Mode for the selected FTP site. NOTE, PASV is forced when using an HTTP proxy server.")] boolean PASV; [id(44), helpstring("Specify the port number you want to use for connections. 0 uses the default (21).")] long Port; [id(45), helpstring("Hide files that begin with a period.")] boolean HidePeriodFiles; [id(46), helpstring("The connection timeout in milliseconds.")] long ConnectionTimeout; [id(47), helpstring("The number of connection retries")] long ConnectionRetries; [id(48), helpstring("The send timeout in millisecondes.")] long SendTimeout; [id(49), helpstring("The receive timeout in millisecondes.")] long ReceiveTimeout; [id(50), helpstring("The directory on the local machine to use for temporary uploads.")] BSTR TempPath; [id(51), helpstring("Set to True to prevent the connection from timing out due to lack of activity.")] boolean KeepAlive; [id(52), helpstring("The proxy server name.")] BSTR ProxyName; [id(53), helpstring("The amount of time between sending the 'keep alive' command to the FTP Server.")] long KeepAliveIdleTime; [id(54), helpstring("Convert all dates that are in the future to the correct time (UNIX problem).")] boolean ConvertFutureFiles; [id(55), helpstring("Set to True to download the file and maintain the original file date and time.")] boolean MaintainDownloadFileTime; [id(56), helpstring("Set to True to use the local time for anonymous connections. Some servers use GMT.")] boolean UseLocalTimeForAnonymous; [id(57), helpstring("Set to True to convert all file names to lower case when uploading.")] boolean ConvertFileNamesToLower; [id(58), helpstring("Set to True to convert all file names to upper case when uploading.")] boolean ConvertFileNamesToUpper; [id(59), helpstring("Specifies the full path to a viewer program such as NOTEPAD.EXE.")] BSTR Viewer; [id(60), helpstring("Set to True to transfer files in ASCII mode.")] boolean AsciiMode; [id(61), helpstring("Set to True to test UNIX links to see if they are directories.")] boolean ThoroughLinkResolution; [id(62), helpstring("Set to True to automatically choose between binary and ASCII modes.")] boolean AutoASCII; [id(63), helpstring("Identifies which files are text files. For example: '.txt, .text, .htm, .html'")] BSTR TextFileExtensions; [id(64), helpstring("The number of times to attempt a Get before reporting an error.")] long GetFileTries; [id(65), helpstring("The number of times to attempt a Put before reporting an error.")] long PutFileTries; [id(66), helpstring("Set to True to allow 'About' as an option from the pop-up menu.")] boolean AllowAbout; [id(67), helpstring("Contains a list of short cut folders. Each path is separated by a comma.")] BSTR ShortCutFolders; [id(68), helpstring("The mode in which to insert Folder Short Cuts into the tree.")] ShortCutFolderInsertConstants ShortCutFoldersInsertMode; [id(69), helpstring("The maximum number of bytes to read for description files.")] long MaxDescFileSize; [id(70), helpstring("Set to True to disable description file reading.")] boolean DisableDescFiles; [id(71), helpstring("A list of comma separated masks and or file names for Description files. Example: '*index.txt,*INDEX.TXT,*index.text,*INDEX.TEXT,files.bbs,00index,00INDEX'")] BSTR DescriptionFiles; [id(72), helpstring("The number of attempts for connections when the site is busy.")] long ConnectionAttempts; [id(DISPID_APPEARANCE), bindable, requestedit, helpstring("Either 3 dimensional or flat.")] AppearanceConstants Appearance; [id(73), helpstring("Set to True to use the extended Track Select feature of the tree control.")] boolean TrackSelect; [id(170), helpstring("Returns the selected tree item (see TreeItem definition).")] FtpTreeItem* SelItem; [id(74), helpstring("If a file is changed after downloading, FtpTree can automatically upload the file depending on this property.")] AutoUploadModes AutoUpload; [id(75), helpstring("Set to True (default) to ask the user for permission to overwrite a file while uploading.")] boolean ConfirmUploadOverwrite; [id(76), helpstring("Set to True (default) to ask the user for permission to overwrite a file while downloading.")] boolean ConfirmDownloadOverwrite; [id(77), helpstring("Set to True (default) to ask the user for permission to delete a file.")] boolean ConfirmFileDelete; [id(78), helpstring("Set to True (default) to ask the user for permission to delete a folder.")] boolean ConfirmFolderDelete; [id(79), helpstring("Set to True (default) to ask the user for permission to delete a Folder Short Cut.")] boolean ConfirmFolderShortCutDelete; [id(80), helpstring("Set to True to automatically change file extentions on upload")] boolean UploadAutoRename; [id(81), helpstring("Set to True to automatically change file extentions on download")] boolean DownloadAutoRename; [id(171), helpstring("Sets/Returns an array of comma separated strings which represent upload renames (i.e., '.htm,.html').")] VARIANT UploadAutoRenames; [id(172), helpstring("Sets/Returns an array of comma separated strings which represent upload renames (i.e., '.htm,.html').")] VARIANT DownloadAutoRenames; [id(173), helpstring("An array of strings that contain a file extension, comma, and the editor path.")] VARIANT AlternateEditors; [id(82), helpstring("Set to True to ask the user for permission to overwrite a file while automatically uploading.")] boolean ConfirmAutoUploadOverwrite; [id(83), helpstring("Set to True to upload only newer files.")] boolean UploadNewerOnly; [id(84), helpstring("Set to True to download only newer files.")] boolean DownloadNewerOnly; [id(15), helpstring("The owner of the license to use FtpTree.")] BSTR Licensee; [id(16), helpstring("The product in which FtpTree ActiveX is licensed.")] BSTR Product; [id(174), helpstring("The registration ID sent by Rhino Software to registered customers. Call (262) 560-9627 to get your registration ID.")] BSTR RegistrationID; [id(175), helpstring("Returns True if an valid Licensee, Product Name, and Registration IDs are set.")] boolean Registered; [id(85), helpstring("Set to True to execute the Synchronize Folders command.")] boolean ExecuteSynchronizeFolders; [id(86), helpstring("Set to True to allow the Synchronize Folders command.")] boolean AllowSynchronizeFolders; [id(176), helpstring("Returns True if FtpTree is performing a lengthy background operation.")] boolean LengthyOperation; [id(87), helpstring("Set to True to have FtpTree remove temporary files after Opening or Viewing.")] boolean CleanupTempFiles; [id(177), helpstring("The number of milliseconds to wait between connection retries.")] long ConnectionDelay; [id(88), helpstring("Set to True to use lines (and the +/- symbol) at the root item of the tree.")] boolean LinesAtRoot; [id(89), helpstring("If using OPEN or SITE proxy methods, the proxy user ID. Leave blank for none.")] BSTR ProxyUserID; [id(90), helpstring("If using OPEN or SITE proxy methods, the proxy password. Leave blank for none.")] BSTR ProxyPassword; [id(91), helpstring("Set to True if the password is an encrypted password. An encryption tool is provided with the FtpTree SDK.")] boolean EncryptedPassword; [id(178), helpstring("FtpTree sets this value to True if an operation was canceled by the user.")] boolean LastOperationCanceled; [id(92), helpstring("Set to True if FtpTree is to maintain the date and time of uploaded files. Not all servers support this command (MDTM).")] boolean MaintainUploadFileTime; [id(93), helpstring("Set to False to prevent FtpTree from displaying error message dialogs.")] boolean DisplayErrors; [id(94), helpstring("Set or gets the password encryption mode.")] PasswordSecurityMode PasswordSecurityMode; [id(95), helpstring("Set to True if FtpTree is NOT to connect multiple times for uploading and downloading.")] boolean ConnectionSaver; [id(179), helpstring("Returns True if Download Butler is installed.")] boolean DownloadButlerInstalled; [id(96), helpstring("The directory in which to download files when opening with Download Butler.")] BSTR DownloadButlerDir; [id(97), helpstring("The .WAV file to use for this event.")] BSTR ConnectSoundFile; [id(98), helpstring("The .WAV file to use for this event.")] BSTR TransferCompleteSoundFile; [id(99), helpstring("Optional account name to use after sending password.")] BSTR Account; [id(100), helpstring("Set to True if FtpTree is NOT to interpret shortcuts relative to the default.")] boolean LiteralShortCuts; [id(180), helpstring("Set to False before connecting to ensure FtpTree does not test for resume.")] boolean SupportsResume; [id(101)] boolean DisableGetPut; [id(102), helpstring("Sets the password to be used for anonymous logins.")] BSTR AnonymousPassword; [id(103), helpstring("Extra parameters to pass to LIST command.")] BSTR ListParameter; [id(104), helpstring("Delimeter to use in USERID=user@site proxy mode.")] short UserAtDelim; [id(105), helpstring("Set to True to force Resumes for uploads and downloads instead of asking for Resume.")] boolean AutoResume; [id(106), helpstring("Allows you to adjust a file's time forward or backward up to 23 hours.")] short FileHourOffset; [id(107), helpstring("The port number on which to use for proxy servers (SOCKS4 and SOCKS5).")] long ProxyPort; [id(108), helpstring("Set to True to show the tree above the default directory.")] boolean ShowFoldersAboveDefault; [id(109), helpstring("The comma separated inclusive filter for Synchronize Foldters.")] BSTR SyncFoldersInclFilter; [id(110), helpstring("The comma separated exclusive filter for Synchronize Foldters.")] BSTR SyncFoldersExclFilter; [id(111), helpstring("Allow the user to select 'Rename' from the pop-up menu.")] boolean AllowRename; [id(112), helpstring("Set to True to ignore the version numbers on VMS files.")] boolean SkipVMSVersions; [id(113), helpstring("The RAS or Dial-up-Networking entry to use to connect. Set a blank value for none.")] BSTR DodEntry; [id(114), helpstring("The user ID for DOD.")] BSTR DodUserID; [id(115), helpstring("The password for DOD")] BSTR DodPassword; [id(116), helpstring("The domain for DOD.")] BSTR DodDomain; [id(117), helpstring("The number of tries for DOD.")] long DodTries; [id(118), helpstring("The call back number to use for a DOD call back, server must be configured for it.")] BSTR DodCallBackNumber; [id(119)] boolean AllowCopyURL; [id(120)] boolean DontLogServerToServerStatus; [id(121)] boolean UsePwdForKeepAlive; [id(122), helpstring("Convert the file name to all lower case, except the first character to upper case.")] boolean ConvertFileNamesToUFC; [id(123), helpstring("Set to True if transfer dialogs are to be displayed.")] boolean ShowTransferDialogs; [id(181), helpstring("Used for message box displays to identify the name of your program.")] BSTR AppName; [id(124), helpstring("Set to True to show animations in the transfer dialogs.")] boolean ShowTransferAnimations; [id(125), helpstring("Set to the full path of an .AVI file to use in the single file upload transfer dialog.")] BSTR SingleUploadAnimationFile; [id(126), helpstring("Set to the full path of an .AVI file to use in the multiple file upload transfer dialog.")] BSTR MultipleUploadAnimationFile; [id(127), helpstring("Set to the full path of an .AVI file to use in the single file download transfer dialog.")] BSTR SingleDownloadAnimationFile; [id(128), helpstring("Set to the full path of an .AVI file to use in the multiple file download transfer dialog.")] BSTR MultipleDownloadAnimationFile; [id(129), helpstring("Used by FTP Voyager to identify the currently selected profile.")] BSTR Profile; [id(130), helpstring("Used by FTP Voyager to identify the local directory for drag and drop operations, used with the scheduler.")] BSTR LocalFolder; [id(131), helpstring("OBSOLETE NOT USED: Number of bytes in the receive buffer.")] long ReceiveBufferSize; [id(132), helpstring("OBSOLETE NOT USED: Number of bytes in the send buffer.")] long SendBufferSize; [id(133), helpstring("Sends the RAW directory listings back as returned information from the server.")] boolean ShowRawListings; [id(134), helpstring("Ingore letter case when usning the Sync Filter.")] boolean SyncFilterIgnoreCase; [id(135), helpstring("Include Folders when applying Sync Filter.")] boolean SyncFilterIncludeFolders; [id(136), helpstring("Apply Sync Filter to files being uploaded.")] boolean SyncFilterApplyToUploads; [id(137), helpstring("Apply Sync Filter to files being downloaded.")] boolean SyncFilterApplyToDownloads; [id(138), helpstring("Apply Sync Filter to files being synced.")] boolean SyncFilterApplyToSyncFolders; [id(139), helpstring("Apply Sync Filter to files being transferred server to server.")] boolean SyncFilterApplyToServerToServer; [id(140), helpstring("0 No Security, 1 SSL Explicit (AUTH SSL command is sent), 2 SSL Implicit, 3 TLS Explicit, (AUTH TLS command is sent), 4 SFTP Using SSH2.")] short SecurityType; [id(141), helpstring("The certificate file password.")] BSTR SSLCertPassword; [id(142), helpstring("The full path to the certificate file.")] BSTR SSLCertPath; [id(143), helpstring("The full path to the private key path.")] BSTR SSLPrivateKeyPath; [id(144), helpstring("The full path to the trusted CA (certificate authority) path.")] BSTR SSLTrustedCAPath; [id(145), helpstring("Use NLST, simple listings, instead of LIST.")] boolean UseSimpleListings; [id(146), helpstring("The number of minutes to offset from GMT, the bias for the time zone in which the server is located.")] long MinuteOffsetGMT; [id(147), helpstring("Identifies whether or not to adjust the server time based on the GMT minute offset, 0=auto, 1=none, 2=use minute offset.")] long AdjustServerTimeGMT; [id(182), helpstring("Set to 1 if the server supports FEAT, 0 if FEAT should not be used.")] boolean SupportsFEAT; [id(148), helpstring("Set to 0 for both password and public key, 1 = password, 2 = public key")] long SSHAuthenticationMode; [id(149), helpstring("The password for the private key file.")] BSTR SSHPrivateKeyPassword; [id(150), helpstring("The SSH private key file to be used for authentication.")] BSTR SSHPrivateKeyFile; [id(151), helpstring("Set to 1 to use SSH compression, 0 to use NO compression.")] boolean SSHUseCompression; [id(152), helpstring("Set to 1 to use UNIX style listings on MVS servers.")] boolean UseMVSUNIXDirListings; [id(153), helpstring("Set to 1 to issue Custom Commands immediately after login.")] boolean CustomCommandsAfterLogin; [id(154), helpstring("The starting port number to use when limiting PORT port ranges.")] long PortRangeStart; [id(155), helpstring("The ending port number to use when limiting PORT port ranges.")] long PortRangeEnd; [id(156), helpstring("Set to True to enable using the port ranges for the PORT command.")] boolean UsePortRange; [id(157), helpstring("Use this IP address or domain name when using the PORT command.")] BSTR PublicIPName; [id(158), helpstring("When unable to maintain uploaded file dates and times, or disabled, change the local file date and time to match the uploaded file date and time.")] boolean ChangeLocalDate; [id(159), helpstring("When XCRC is available on the server, check the XCRC value to ensure a valid file transfer.")] boolean CheckXCRC; [id(160), helpstring("The number of download threads to use for PowerMGet.")] long PowerMGetThreads; [id(161), helpstring("The number of upload threads to use for PowerMPut.")] long PowerMPutThreads; [id(162), helpstring("Set to non-zero (1) to limit the upload transfer rate.")] boolean LimitUploadRate; [id(163), helpstring("Set to non-zero (1) to limit the download transfer rate.")] boolean LimitDownloadRate; [id(164), helpstring("When LimitUploadRate is set to non-zero limit the upload to this value.")] double UploadRate; [id(165), helpstring("When LimitDownloadRate is set to non-zero limit the download to this value.")] double DownloadRate; [id(166), helpstring("0 - disabled, 1 - automatic, 2 - Zlib")] long CompressionMode; [id(167), helpstring("1 - 9, 1 least compression, 9, most but most CPU cycles")] long ZlibCompressionLevel; [id(168), helpstring("Set to 1 to switch from SSL to clear text on the command socket after login.")] boolean ClearCommandChannel; [id(169), helpstring("Set to 1 to strip MVS file extensions when uploading files to an MVS server.")] boolean StripMVSExtensions; //}}AFX_ODL_PROP [id(300), helpstring("0-Default Windows; 2-Windows XP; 4-Special; 6-Icy; 8=XP / Office 2003; 10-Colorful. Add 1 for 3D border")] long MenuStyle; [id(301), helpstring("Passed to add-ons to help identify the FTP Voyager profile being used.")] BSTR AddOnProfile; [id(302), helpstring("Set to 1 to encrypt only the command channel, using clear-text for the data channel.")] boolean ClearDataChannel; [id(303), helpstring("Set to 1 use standard wildcarding for file/folder deletion.")] boolean DeleteWildCard; [id(304), helpstring("Set to 1 use MLST / MLSD when available.")] boolean UseMLST; [id(305), helpstring("Set to 1 perform initial listing when using NewSession.")] boolean ListOnNewSession; [id(306), helpstring("Set to 1 login only when connecting, don't attempt to discover information about the server.")] boolean LoginOnly; [id(1001)] DATE BuildDate; methods: // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CFtpTreeCtrl) [id(183), helpstring("Returns the selected tree item (see TreeItem definition).")] FtpTreeItem* GetSelectedItem(); [id(184), helpstring("Connect to a site.")] boolean NewSession(BSTR FtpSite, BSTR DefaultDirectory, BSTR UserID, BSTR Password); [id(185), helpstring("Begin browsing the FTP site.")] boolean BrowseSite(); [id(186), helpstring("Edit the current selection's name.")] boolean EditSelection(); [id(187), helpstring("If threads are running, returns False.")] boolean CanChangeAccessType(); [id(188), helpstring("INVALID. DON'T USE.")] boolean DoMessage(long pMsg); [id(189), helpstring("Is a drag operation in progress?")] boolean IsDraggingDropping(); [id(190), helpstring("Disconnect from the current site.")] void Disconnect(); [id(191), helpstring("Returns True if connected.")] boolean IsConnected(); [id(192), helpstring("Returns the site name.")] BSTR GetSiteName(); [id(193), helpstring("Get's a file from the site, and asks for the destination directory.")] void GetFile(BSTR FileName); [id(194), helpstring("Adds a Folder Short Cut to the list of Folder Short Cuts.")] void AddFolderShortCut(BSTR FolderShortCut); [id(195), helpstring("Removes the Folder Short Cut from the list.")] void RemoveFolderShortCut(BSTR FolderShortCut); [id(196), helpstring("Returns True if it's already a Folder Short Cut.")] boolean IsShortCut(BSTR ShortCut, BSTR Path); [id(197), helpstring("Start the 'Find File' dialog in a separate thread.")] void RunFindFileDialog(BSTR Path); [id(198), helpstring("Gives focus to the control.")] void TakeFocus(); [id(199), helpstring("Gets a file from the server placing it into the destination file. If the destination ends with a '\', the source file name is appended to the destination.")] void GetFileDest(BSTR FileName, BSTR DestFileName); [id(200), propget, helpstring("Returns the FtpTreeItem at the root of the tree.")] FtpTreeItem* RootItem(); [id(226), propget, helpstring("Returns a string representing part of the Welcome Message.")] BSTR WelcomeMessage(short Index); [id(201), helpstring("Allows you to create an FtpConn object for low level FTP access.")] FtpConn* CreateFtpConnection(); [id(202), helpstring("Send to cancel or abort the current FTP operation.")] boolean Abort(); [id(203), helpstring("Returns True if FtpTree is working on a connection or FTP Command.")] boolean Working(); [id(204), helpstring("Returns True if the selection was made via the keyboard.")] boolean IsKeyboardSelection(); [id(205), helpstring("Allows you to execute a specific FTP Command.")] long Command(BSTR Command); [id(227), propget, helpstring("Returns part of the last response from the FTP server.")] BSTR LastResponse(short Index); [id(206), helpstring("Returns TRUE if connected to an MVS server.")] boolean IsMVS(); [id(207)] boolean ConnectedBeforeUserID(); [id(208), helpstring("Returns an array of the entry names.")] void DodEnumPhonebookEntries(VARIANT* Entries); [id(209), helpstring("Returns True if the entry was found in the phone book, and returns the user settings.")] boolean DodGetPhonebookEntryInfo(BSTR Entry, BSTR* UserID, BSTR* Password, BSTR* Domain, long* HasPassword); [id(210), helpstring("Returns True if this machine can do Dial on Demand.")] boolean SupportsDod(); [id(211), helpstring("Call this method to pop up the Right mouse click context menu.")] void RightMouseClick(); [id(212), helpstring("Start recording commands to use for startup.")] void StartStartupCommands(); [id(213), helpstring("Don't record commands for startup.")] void EndStartupCommands(); [id(214), helpstring("Uploads a file or folder using just file names.")] boolean PutFileDest(BSTR SourceFile, BSTR DestFile); [id(215), helpstring("Used to synchronize the contents of a local and remote folder.")] boolean SyncFolders(BSTR RemoteFolder, BSTR LocalFolder, long SyncOptions, BSTR IgnoreStartingWith, long MaxThreads); [id(216), helpstring("Used to delete a file, files, or folder, wildcards accepted.")] boolean Delete(BSTR Path); [id(217), helpstring("Used to move to a specific directory.")] boolean GoToDir(BSTR Dir); [id(218), helpstring("Returns TRUE if we're unsure if it's case sensitive or it is, and FALSE if we're sure it's not.")] boolean IsServerCaseSensitive(); [id(219), helpstring("Returns the current connection object.")] FtpConn* GetConnection(); [id(220), helpstring("Downloads file(s), then deletes. Same as GetFileDest but deletes the source the transfer is when done.")] void MoveDownDest(BSTR FileName, BSTR DestFileName); [id(221), helpstring("Uploads file(s), then deletes. Same as PutFileDest but deletes the source when the transfer is done.")] boolean MoveUpDest(BSTR SourceFile, BSTR DestFile); [id(222), helpstring("The number of transfers in progress.")] long NumberOfTransfers(); [id(223), helpstring("Sends a message to a transfer, Message 1 == Cancel, 2 == Skip File, 3 == Stop after file completes.")] void TransferStatusMessage(long Handle, long Message, long Params); [id(224), helpstring("Returns the number of visible transfer dialogs.")] long NumVisibleTransferDialogs(); [id(225), helpstring("Returns the number of file transfers in progress.")] long NumFileTransfers(); //}}AFX_ODL_METHOD [id(400), helpstring("Loads FtpTree / FTP Voyager add-on DLL. Please see documentation or support for more information. Returns 1 if DLL loaded or already loaded, 0 if unable to load DLL.")] boolean LoadAddOnDLL(BSTR Path); [id(401), helpstring("Unloads FtpTree / FTP Voyager add-on DLL.")] void UnloadAddOnDLLs(); [id(402), helpstring("Returns the current directory (PWD).")] BSTR GetCurrentDirectory(); [id(403), helpstring("Sets the current directory (CWD). Returns 1 if successful, 0 if not.")] boolean SetCurrentDirectory(BSTR Path); [id(404), helpstring("Changes the current directory up one directory by sending the CWD command to the server. Returns 1 if successful, 0 if not.")] boolean UpOneDirectory(); [id(405), helpstring("Creates a directory using MKD. Returns 1 if successful, 0 if not.")] boolean CreateDirectory(BSTR Path); [id(406), helpstring("Removes a directory using RMD. Returns 1 if successful, 0 if not.")] boolean RemoveDirectory(BSTR Path); [id(407), helpstring("Start a file find operation. FileName may be wild carded such as *.html.")] boolean FindFile(BSTR FileName); [id(408), helpstring("After calling FindFile() and it returns TRUE (1), call this function to get the information about the file, then move to the next file.")] boolean FindNextFile(BSTR* FileInfo); [id(409), helpstring("Close the file find operation.")] void FindFileClose(); [id(410), helpstring("Delete the specified file.")] boolean RemoveFile(BSTR Path); [id(411), helpstring("Rename a file or directory")] boolean Rename(BSTR OldPath, BSTR NewPath); [id(412), helpstring("Returns 1 if successful, 0 if not, returns the size, in bytes, of a file.")] boolean Size(BSTR Path, LONGLONG* FileSize); [id(413), helpstring("Opens a file on the server for reading or writing, returns TRUE for success.")] boolean OpenFile(BSTR FileName, BOOL Read, BOOL Binary, LONGLONG ResumeLoc); [id(414), helpstring("Reads data from the file opened by OpenFile. Returns the number of bytes read, <= 0 for errors.")] boolean ReadFile(unsigned char* Buf, LONG BufSize); [id(415), helpstring("Writes data to the file opened by OpenFile. Returns the number of bytes written, <= 0 for errors.")] boolean WriteFile(unsigned char* Buf, LONG Count, BOOL End); [id(416), helpstring("Closes the file opened by OpenFile. Returns TRUE for success.")] boolean CloseFile(); [id(417), helpstring("Opens a remote file after downloading it to the local HD. Returns TRUE for success.")] boolean DownloadOpen(BSTR FilePath, boolean bView); [id(418), helpstring("Sets a remote file's date and time.")] boolean SetFileDateAndTime(BSTR FilePath, DATE LocalDate); [id(419), helpstring("Sets the application version number, sent with CLNT command.")] void SetAppVersion(BSTR Version); [id(DISPID_ABOUTBOX)] void AboutBox(); [id(1000), propget] BSTR Version(); }; // Event dispatch interface for CFtpTreeCtrl [ uuid(C22877C2-4214-11D0-B0DA-080009C351D7), helpstring("Event interface for FtpTree Control") ] dispinterface _DFtpTreeEvents { properties: // Event interface has no properties methods: // NOTE - ClassWizard will maintain event information here. // Use extreme caution when editing this section. //{{AFX_ODL_EVENT(CFtpTreeCtrl) [id(1), helpstring("Executed when a file is selected.")] void FileSelected(BSTR FtpSite, BSTR DirName, BSTR FileName); [id(2), helpstring("Executed when a directory (folder) is selected.")] void DirSelected(BSTR FtpSite, BSTR PathName, BSTR DirName); [id(3), helpstring("Executed when a Get operation is performed.")] void ExecuteGet(BSTR FtpSite, BSTR DirName, BSTR FileName); [id(4), helpstring("Executed when a Put operation is performed.")] void ExecutePut(BSTR FtpSite, BSTR DirName); [id(5), helpstring("Executed when a Remove operation is performed.")] void ExecuteRemove(BSTR FtpSite, BSTR DirName, BSTR FileName); [id(6), helpstring("Executed when a Remove Directory (folder) operation is performed.")] void ExecuteRemoveDir(BSTR FtpSite, BSTR DirName); [id(7), helpstring("Executed when a Create Directory (folder) operation is performed.")] void ExecuteCreateDir(BSTR FtpSite, BSTR DirName); [id(8), helpstring("Executed when a File Information operation is performed.")] void ExecuteFileInfo(BSTR FtpSite, BSTR FileName); [id(9), helpstring("Executed when an Item is selected.")] void ItemSelected(FtpTreeItem* FtpTreeItem); [id(10), helpstring("Executed when a file is added to the site.")] void FileAdded(FtpTreeItem* FtpTreeItem); [id(11), helpstring("Executed when a directory (folder) is added to the site.")] void DirAdded(FtpTreeItem* NewDir, FtpTreeItem* ParentDir); [id(12), helpstring("Executed when a file is modified.")] void FileModified(FtpTreeItem* FtpTreeItem); [id(13), helpstring("Executed when the user selects a local download directory.")] void DownloadDirSelected(BSTR Directory); [id(14), helpstring("Executed when the user selects a local upload directory.")] void UploadDirSelected(BSTR Directory); [id(15), helpstring("Executed when View is selected.")] void ExecuteView(BSTR Site, BSTR Path); [id(16), helpstring("Executed when Open is selected.")] void ExecuteOpen(BSTR Site, BSTR Path); [id(17), helpstring("Executed when Explore is selected.")] void ExecuteExplore(BSTR Site, BSTR Path); [id(18), helpstring("Executed before a refresh command.")] void PreRefresh(); [id(19), helpstring("Executed after a refresh command.")] void PostRefresh(); [id(20), helpstring("Executed when the TAB key is pressed.")] void TabKey(); [id(21), helpstring("Executed when the user removes a Folder Short Cut.")] void RemoveShortCut(BSTR Site, BSTR Dir); [id(22), helpstring("Executed when the user creates a Folder Short Cut.")] void CreateFolderShortCut(BSTR FtpSite, BSTR Path); [id(23), helpstring("Executed when the user removes a Folder Short Cut.")] void RemoveFolderShortCut(BSTR FtpSite, BSTR Path); [id(24), helpstring("Executed when the user wants help in the Find Files dialog.")] void FindFilesHelpButtonPressed(); [id(25), helpstring("Executed when the description changes for a file.")] void ItemDescriptionChanged(FtpTreeItem* FtpTreeItem); [id(26), helpstring("The Help button was pressed in the Synchronize Folders dialog.")] void SynchronizeHelpButtonPressed(); [id(27), helpstring("The Synchronize Folders command has been executed.")] void SynchronizeFolders(); [id(28), helpstring("A file has been removed.")] void ExecuteRemoveFileItem(FtpTreeItem* FtpTreeItem); [id(29), helpstring("A file has been downloaded.")] void FileDownloaded(FtpTreeItem* FtpTreeItem); [id(30), helpstring("Sent when FtpTree issues an FTP command. Use for status feedback.")] void SendCommand(BSTR Command); [id(31), helpstring("Sent when FtpTree receives a response from a FTP command. Use for status feedback.")] void ReceiveResponse(BSTR Response); [id(32), helpstring("Sent when FtpTree has status information. Use for status feedback.")] void FtpStatus(BSTR Status, BOOL Error); [id(33), helpstring("Executed when FtpTree creates a local directory.")] void LocalDirCreated(BSTR Dir); [id(34), helpstring("Executed when FtpTree downloads a file.")] void FileDownloadedName(BSTR FileName); [id(35), helpstring("Executed when FtpTree generates an error.")] void FtpError(long ErrNumber, BSTR ErrorString); [id(36), helpstring("Executed prior to uploading files. Use Abort to cancel the upload.")] void UploadRequest(FtpTreeItem* DestinationItem, VARIANT SourceFiles); [id(37), helpstring("Executed prior to downloading files. Use Abort to cancel the download.")] void DownloadRequest(BSTR DestDir, VARIANT SourceFiles); [id(38), helpstring("Executed prior to uploading files. File names are separated by the '|' character. Use Abort to cancel the upload.")] void UploadRequestString(FtpTreeItem* DestinationItem, BSTR SourceFiles); [id(39), helpstring("Executed prior to downloading files. File names are separated by the '|' character. Use Abort to cancel the download.")] void DownloadRequestString(BSTR DestDir, BSTR SourceFiles); [id(40), helpstring("Sent when a file has been uploaded to an uninitialized folder.")] void FileAddedUninitializedParent(FtpTreeItem* Parent, BSTR DirName, BSTR FileName, long Len); [id(41), helpstring("Triggered when the user double clicks an item")] void DoubleClick(IDispatch* TreeItem); [id(42), helpstring("Triggered when a new file transfer is starting.")] void NewFileTransfer(long Handle, BOOL Download, BOOL Move, BOOL MultipleFiles); [id(43), helpstring("Triggered when a file transfer is setting file information.")] void FileTransferSetFile(long Handle, BSTR FileName, long Len, long OverallSize); [id(44), helpstring("Triggered when a file transfer is setting file size information.")] void FileTransferSetSize(long Handle, long FileSize, long OverallSize); [id(45), helpstring("Triggered when a file is being transfered to identifiy its position.")] void FileTransferSetPos(long Handle, long Pos, long OverallPos); [id(46), helpstring("Triggered when a file transfer is paused, usually for an error or user input.")] void FileTransferPause(long Handle); [id(47), helpstring("Triggered when a file transfer pause is complete.")] void FileTransferEndPause(long Handle, long PauseTick); [id(48), helpstring("Triggered when a file transfer is complete.")] void EndFileTransfer(long dwHandle); [id(49), helpstring("Triggered when the user selects Copy URL from the pop up menu")] void CopyURL(BSTR URL); [id(50), helpstring("Triggered when a file transfer byte offset is to be incremented due to restart or error.")] void FileTransferIncrByteOS(long Handle, long ByteOS); [id(51), helpstring("Triggered when a file transfer byte offset is to be set due to restart or error.")] void FileTransferSetByteOS(long Handle, long ByteOS); [id(52), helpstring("Triggered when uploading a file using PutFileDest and the file becomes renamed.")] void UploadFileRename(BSTR OldFileName, BSTR NewFileName); [id(53), helpstring("Triggered when the user must enter a password to continue.")] void AskPassword(BSTR* Password, int* Continue, int Proxy); [id(54), helpstring("Triggered when a local file or folder has been delected.")] void LocalDeleted(BSTR Path); [id(55), helpstring("Triggered when a transfer file change count has changed.")] void FileTransferSetFileCount(long Handle, long FileNum, long TotalFiles); [id(56), helpstring("Triggered when the password is about to be used. Allows for changing password.")] void ProcessPassword(BSTR* Password, long* Continue); [id(57), helpstring("Triggered when an SSL certificate needs to be verified.")] void SSLVerifyCertificate(BOOL CommandSocket, BSTR Host, BSTR PeerName, BSTR Subject, BSTR Issuer, BSTR Cert, double StartDate, double EndDate, long* Continue); [id(58), helpstring("Signals that an unsolicited response has been received from the server.")] void ReceiveUnsolicitedResponse(BSTR lpszResponse); [id(59), helpstring("Executed when the user wants help in the Files Being Edited dialog.")] void FilesBeingEditedHelpButton(); [id(60), helpstring("Triggered when a file transfer is setting file information. The double values are actually 64 bit longs.")] void FileTransferSetFile64(long Handle, BSTR FileName, double Len, double OverallSize); [id(61), helpstring("Triggered when a file transfer is setting file size information. The double values are actually 64 bit longs.")] void FileTransferSetSize64(long Handle, double FileSize, double OverallSize); [id(62), helpstring("Triggered when a file is being transfered to identifiy its position. The double values are actually 64 bit longs.")] void FileTransferSetPos64(long Handle, double Pos, double OverallPos); [id(63), helpstring("Triggered when a file transfer byte offset is to be incremented due to restart or error. The double values are actually 64 bit longs.")] void FileTransferIncrByteOS64(long Handle, double ByteOS); [id(64), helpstring("Triggered when a file transfer byte offset is to be set due to restart or error. The double values are actually 64 bit longs.")] void FileTransferSetByteOS64(long Handle, double ByteOS); [id(65), helpstring("Triggered after a file has been renamed using the edit label method.")] void EndEditLabel(BOOL Rename); [id(66), helpstring("Triggered after the local file date and time has been changed during an upload.")] void LocalFileChanged(BSTR LocalFilePath); [id(67), helpstring("Triggered when the server requests that the user's password be changed.")] void AskChangePassword(BSTR* Password, LONG* Continue); [id(68), helpstring("Triggered after the password has been changed at the request of the server.")] void PasswordChanged(BSTR Password); [id(69), helpstring("Executed when FtpTree uploads a file, passing both the source and the destination.")] void FileUploaded(BSTR SourcePath, BSTR DestPath); [id(70), helpstring("Executed when FtpTree downloads a file, passing both the source and the destination.")] void FileDownloadedSourceDest(BSTR SourcePath, BSTR DestPath); [id(71), helpstring("Executed when FtpTree creates a remote directory.")] void RemoteDirectoryCreated(BSTR Path); [id(72), helpstring("Executed when FtpTree deletes a remote directory.")] void RemoteDirectoryDeleted(BSTR Path); [id(73), helpstring("Executed when FtpTree deletes a remote file.")] void RemoteFileDeleted(BSTR Path); [id(74), helpstring("Executed when a download error occurs.")] void DownloadError(long Error, long Cause, BSTR ErrorString, BSTR RemotePath, BSTR DestFileName, BSTR ExtraInfo); [id(75), helpstring("Executed when an upload error occurs.")] void UploadError(long Error, long Cause, BSTR ErrorString, BSTR RemotePath, BSTR LocalPath); //}}AFX_ODL_EVENT }; // Class information for CFtpTreeCtrl [ uuid(C22877C3-4214-11D0-B0DA-080009C351D7), helpstring("FtpTree Control"), control ] coclass FtpTree { [default] dispinterface _DFtpTree; [default, source] dispinterface _DFtpTreeEvents; }; // Primary dispatch interface for CTreeItem [ uuid(51A59602-58E8-11D0-A106-0040051F847F) ] dispinterface IFtpTreeItem { properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CTreeItem) [id(3), helpstring("The file/folder description found in an index or description file.")] BSTR Description; [id(4), helpstring("The user/owner of a file, usually on UNIX systems.")] BSTR User; [id(5), helpstring("The group of a file, usually on UNIX systems.")] BSTR Group; [id(6), helpstring("The file permissions of the file or folder")] BSTR Permissions; [id(7), helpstring("Returns True if the item is a symbolic link. UNIX only.")] boolean SymbolicLink; [id(8), helpstring("The the link location of a UNIX symbolic link, usually on UNIX systems.")] BSTR LinkedTo; [id(9)] boolean DownloadButlerInstalled; [id(1)] BSTR CompareFoldersDefaultLocalDir; [id(2), helpstring("Set to True to delete files after copying, automatically reset to False after transfer.")] boolean MoveFiles; //}}AFX_ODL_PROP [id(500), helpstring("A place holder to remember a file's type.")] BSTR FileType; [id(501), helpstring("A place holder to remember a file's thumbnail image.")] long ThumbnailImage; [id(502), helpstring("A place holder to remember a file's large image.")] long LargeImage; methods: [id(0)] FtpTreeItem* _Item(long Index); // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CTreeItem) [id(10), propget, helpstring("The number of files and folders in this item.")] long Count(); [id(11), helpstring("The FtpTreeItem found at Index.")] FtpTreeItem* Item(long Index); [id(12), helpstring("Returns the FtpTreeItems collection.")] FtpTreeItems* FtpTreeItems(); [id(13), propget, helpstring("The item's path.")] BSTR Path(); [id(14), helpstring("Returns True if the item is a directory (folder).")] boolean IsDirectory(); [id(15), propget, helpstring("The file name (or directory name) without the path.")] BSTR FileName(); [id(16), propget, helpstring("The directory or folder name with out the file name (the parent folder).")] BSTR DirectoryName(); [id(17), propget, helpstring("The size of the file in bytes.")] long Size(); [id(18), propget, helpstring("The last modified date of the file or folder.")] DATE Date(); [id(19), helpstring("Expands the folder.")] boolean Expand(); [id(20), propget, helpstring("Returns the parent folder.")] FtpTreeItem* Parent(); [id(21), helpstring("Go up the tree to the parent folder (select the parent).")] void UpOneLevel(); [id(22), propget, helpstring("The number of directories (folders) found in the item (folder).")] long NumberOfDirectories(); [id(23), propget, helpstring("The number of directories (folders) found in the item (folder).")] long NumberOfFiles(); [id(24), helpstring("Rename the file or folder to NewName.")] boolean Rename(BSTR NewName); [id(25), helpstring("Get the file or folder, asking for the destination.")] void Get(); [id(26), helpstring("Put a file into this folder.")] void Put(); [id(27), helpstring("Delete the item (file or folders).")] boolean Delete(); [id(28), helpstring("Create a new folder inside this folder.")] boolean CreateDir(); [id(29), helpstring("Return the current FTP site name.")] BSTR GetFtpSite(); [id(30), helpstring("Put the files in the FileNames array to the folder. This is an array of strings.")] boolean MPut(VARIANT FileNames); [id(31), helpstring("Do the drag and drop operation")] long DoDragDrop(BOOL AllowMove); [id(32), helpstring("Do the drag and drop operation on a list of files and/or folders.")] long DoListDragDrop(VARIANT ItemList, BOOL AllowMove); [id(33), helpstring("Open the item.")] void Open(); [id(34), helpstring("Open the item with the viewer (NOTEPAD or WORDPAD, etc.).")] void View(); [id(35), helpstring("Get multiple files through a list of items.")] boolean MGet(VARIANT ItemList); [id(36), helpstring("Get the site name.")] BSTR GetSiteName(); [id(37), helpstring("Returns True if connected to the site.")] boolean IsConnected(); [id(38), helpstring("Refresh this folder.")] void Refresh(); [id(39), helpstring("Returns True if the item is a Folder Short Cut.")] boolean IsShortCut(); [id(40), helpstring("Create a Folder Short Cut for the item.")] void AddFolderShortCut(); [id(41), helpstring("Remove any Folder Short Cut for the item.")] void RemoveFolderShortCut(); [id(42), helpstring("Get the display name for the item.")] BSTR GetDisplayName(); [id(43), helpstring("Create a directory (folder), don't ask for the name, use the one passed in.")] boolean CreateDirWithName(BSTR DirName); [id(44), helpstring("Allows the user to compare a remote folder with a local folder and syncronize them.")] void RunSynchronizeFoldersDialog(); [id(45), helpstring("Get a list of files placing them in the destination dir.")] boolean MGetDest(VARIANT ItemList, BSTR DestDir); [id(46), helpstring("Delete the item but don't release the object.")] boolean DeleteNoRelease(); [id(47), helpstring("Sets the current directory to this item.")] boolean SetCurrentDirectory(); [id(48), helpstring("FtpTree sets this value to True if an operation was canceled by the user.")] boolean LastOperationCanceled(); [id(49)] void OpenWithDownloadButler(); [id(50)] VARIANT Items(); [id(51), helpstring("Used to synchronize the contents of a local and remote folder.")] boolean SyncFolders(BSTR LocalFolder, SyncFoldersMode SyncOptions, BSTR IgnoreStartingWith, long MaxThreads); [id(52)] VARIANT CreateItems(); [id(53), helpstring("Returns the MVS file type.")] BSTR GetMVSType(); [id(54)] void SetDragAndDropDest(IFtpTreeItem* Dest); [id(55), helpstring("Used for server to server transfers, passing in the shared memory file name.")] void ServerServerDrop(BSTR SharedFileName, BOOL Move, BOOL Cancel); [id(56), helpstring("Used to set the internal variable for file name. Does not talk to the server.")] void SetFileName(BSTR FileName); [id(57), helpstring("Returns TRUE if the date is set.")] boolean IsDateSet(); [id(58), helpstring("Returns TRUE if the size is set.")] boolean IsSizeSet(); [id(59), helpstring("Returns TRUE if the time is set.")] boolean IsTimeSet(); [id(60), helpstring("Returns the size of the file as a 64 bit long (i.e., not a double).")] double Size64(); [id(61), helpstring("Returns 1 if this is an error item, 0 if not")] boolean GetError(); [id(62), helpstring("Same as MGet but performs downloads in separate connections at the same time.")] boolean PowerMGet(VARIANT ItemList, BSTR DestDir); [id(63), helpstring("Same as MPut but performs uploads in separate connections at the same time.")] boolean PowerMPut(VARIANT FileNames); //}}AFX_ODL_METHOD }; // Class information for CFtpTreeItem [ uuid(51A59603-58E8-11D0-A106-0040051F847F) ] coclass FtpTreeItem { [default] dispinterface IFtpTreeItem; }; // Primary dispatch interface for CFtpTreeItems [ uuid(51A59604-58E8-11D0-A106-0040051F847F) ] dispinterface IFtpTreeItems { properties: [id(-4)] IUnknown* _NewEnum; // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CFtpTreeItems) //}}AFX_ODL_PROP methods: [id(0)] FtpTreeItem* _Item(long Index); // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CFtpTreeItems) [id(1), propget, helpstring("The number of items in the collection")] long Count(); [id(2), helpstring("The FtpTreeItem found at the Index.")] FtpTreeItem* Item(long Index); //}}AFX_ODL_METHOD }; // Class information for CFtpTreeItems [ uuid(51A59605-58E8-11D0-A106-0040051F847F) ] coclass FtpTreeItems { [default] dispinterface IFtpTreeItems; }; // Primary dispatch interface for CFtpConn [ uuid(56019882-4fa1-11d1-BF13-0040054538aa) ] dispinterface IFtpConn { properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CFtpConn) [id(2), helpstring("Sets/Returns the current directory.")] BSTR CurrentDirectory; [id(3), helpstring("Sets/Returns the current proxy server name.")] BSTR ProxyName; [id(4), helpstring("Sets/Returns the current proxy user ID.")] BSTR ProxyUserID; [id(5), helpstring("Sets/Returns the current proxy password.")] BSTR ProxyPassword; [id(1), helpstring("Optional account name to use after sending password.")] BSTR Account; //}}AFX_ODL_PROP methods: // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CFtpConn) [id(6), helpstring("Opens a file for writing.")] FtpFile* OpenWriteFile(BSTR FileName, int ASCII, long ResumeLoc); [id(7), helpstring("Opens a file for reading.")] FtpFile* OpenReadFile(BSTR FileName, int ASCII, long ResumeLoc); [id(8), helpstring("Makes a connection to an FTP Server.")] long Connect(long AccessType, BSTR Server, BSTR UserName, BSTR Password, long Port, int Passive); [id(9), helpstring("Identifies whether or not a value is a positive completion return value.")] boolean IsPositiveCompletion(long RetVal); [id(10), helpstring("Identifies whether or not a value is a positive preliminary return value.")] boolean IsPositivePreliminary(long RetVal); [id(11), helpstring("Identifies whether or not a value is a positive intermediate return value.")] boolean IsPositiveIntermediate(long RetVal); [id(12), helpstring("Call to create a directory.")] boolean CreateDirectory(BSTR Dir); [id(13), helpstring("Call to remove a directory.")] boolean RemoveDirectory(BSTR Dir); [id(14), helpstring("Call to rename a file.")] boolean Rename(BSTR OldName, BSTR NewName); [id(15), helpstring("Call to delete a file.")] boolean Remove(BSTR FileName); //}}AFX_ODL_METHOD }; // Class information for CFtpConn [ uuid(56019883-4fa1-11d1-BF13-0040054538aa) ] coclass FtpConn { [default] dispinterface IFtpConn; }; // Primary dispatch interface for CFtpFile [ uuid(56019884-4fa1-11d1-BF13-0040054538aa) ] dispinterface IFtpFile { properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CFtpFile) [id(1), helpstring("Returns the current file position.")] long Position; //}}AFX_ODL_PROP methods: // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CFtpFile) [id(2), helpstring("Write bytes to the file.")] long Write(VARIANT Buf, long Count); [id(3), helpstring("Read bytes from the file.")] long Read(VARIANT Buf, long Count); [id(4), helpstring("Close the file. This function MUST be called when done with the file.")] long Close(); //}}AFX_ODL_METHOD }; // Class information for CFtpFile [ uuid(56019885-4fa1-11d1-BF13-0040054538aa) ] coclass FtpFile { [default] dispinterface IFtpFile; }; //{{AFX_APPEND_ODL}} };