/****************************************************************************** Copyright (c) 2000 Microsoft Corporation Module Name: UploadManager.idl Abstract: This file contains the declaration of the set of coclasses and interfaces implemented by the UploadManager. Revision History: Davide Massarenti (Dmassare) 06/13/99 created ******************************************************************************/ #include import "oaidl.idl"; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// typedef [v1_enum] enum tagUL_STATUS { UL_NOTACTIVE = 0x00000000, // Status before first Activate() call. UL_ACTIVE = 0x00000001, // Status after Activate() call. UL_SUSPENDED = 0x00000002, // Status after Suspend() call. UL_TRANSMITTING = 0x00000003, // Status while actually transmitted. UL_ABORTED = 0x00000004, // Status after a temporary failure (no connection, etc.) UL_FAILED = 0x00000005, // Status after a permanent failure (server deny, ect.) UL_COMPLETED = 0x00000006, // Status after successful transmission. UL_DELETED = 0x00000007, // status after deletion. } UL_STATUS; typedef [v1_enum] enum tagUL_MODE { UL_BACKGROUND = 0x00000000, UL_FOREGROUND = 0x00000001, } UL_MODE; typedef [v1_enum] enum tagUL_HISTORY { UL_HISTORY_NONE = 0x00000000, UL_HISTORY_LOG = 0x00000001, UL_HISTORY_LOG_AND_DATA = 0x00000002, } UL_HISTORY; [ object, uuid(8E82AD10-D1A3-11D2-9374-00C04F72DAF7), dual, helpstring("IMPCUploadJob Interface"), pointer_default(unique) ] interface IMPCUploadJob : IDispatch { [propget, id(DISPID_UL_UPLOADJOB_SIG )] HRESULT Sig ( [out, retval] BSTR *pVal ); [propput, id(DISPID_UL_UPLOADJOB_SIG )] HRESULT Sig ( [in] BSTR newVal ); [propget, id(DISPID_UL_UPLOADJOB_SERVER )] HRESULT Server ( [out, retval] BSTR *pVal ); [propput, id(DISPID_UL_UPLOADJOB_SERVER )] HRESULT Server ( [in] BSTR newVal ); [propget, id(DISPID_UL_UPLOADJOB_JOBID )] HRESULT JobID ( [out, retval] BSTR *pVal ); [propput, id(DISPID_UL_UPLOADJOB_JOBID )] HRESULT JobID ( [in] BSTR newVal ); [propget, id(DISPID_UL_UPLOADJOB_PROVIDERID )] HRESULT ProviderID ( [out, retval] BSTR *pVal ); [propput, id(DISPID_UL_UPLOADJOB_PROVIDERID )] HRESULT ProviderID ( [in] BSTR newVal ); [propget, id(DISPID_UL_UPLOADJOB_CREATOR )] HRESULT Creator ( [out, retval] BSTR *pVal ); // Whistler [propget, id(DISPID_UL_UPLOADJOB_USERNAME )] HRESULT Username ( [out, retval] BSTR *pVal ); [propput, id(DISPID_UL_UPLOADJOB_USERNAME )] HRESULT Username ( [in] BSTR newVal ); [propget, id(DISPID_UL_UPLOADJOB_PASSWORD )] HRESULT Password ( [out, retval] BSTR *pVal ); [propput, id(DISPID_UL_UPLOADJOB_PASSWORD )] HRESULT Password ( [in] BSTR newVal ); [propget, id(DISPID_UL_UPLOADJOB_ORIGINALSIZE )] HRESULT OriginalSize ( [out, retval] long *pVal ); [propget, id(DISPID_UL_UPLOADJOB_TOTALSIZE )] HRESULT TotalSize ( [out, retval] long *pVal ); [propget, id(DISPID_UL_UPLOADJOB_SENTSIZE )] HRESULT SentSize ( [out, retval] long *pVal ); [propget, id(DISPID_UL_UPLOADJOB_HISTORY )] HRESULT History ( [out, retval] UL_HISTORY *pVal ); [propput, id(DISPID_UL_UPLOADJOB_HISTORY )] HRESULT History ( [in] UL_HISTORY newVal ); [propget, id(DISPID_UL_UPLOADJOB_STATUS )] HRESULT Status ( [out, retval] UL_STATUS *pVal ); [propget, id(DISPID_UL_UPLOADJOB_ERRORCODE )] HRESULT ErrorCode ( [out, retval] long *pVal ); [propget, id(DISPID_UL_UPLOADJOB_MODE )] HRESULT Mode ( [out, retval] UL_MODE *pVal ); [propput, id(DISPID_UL_UPLOADJOB_MODE )] HRESULT Mode ( [in] UL_MODE newVal ); [propget, id(DISPID_UL_UPLOADJOB_PERSISTTODISK )] HRESULT PersistToDisk ( [out, retval] VARIANT_BOOL *pVal ); [propput, id(DISPID_UL_UPLOADJOB_PERSISTTODISK )] HRESULT PersistToDisk ( [in] VARIANT_BOOL newVal ); [propget, id(DISPID_UL_UPLOADJOB_COMPRESSED )] HRESULT Compressed ( [out, retval] VARIANT_BOOL *pVal ); [propput, id(DISPID_UL_UPLOADJOB_COMPRESSED )] HRESULT Compressed ( [in] VARIANT_BOOL newVal ); [propget, id(DISPID_UL_UPLOADJOB_PRIORITY )] HRESULT Priority ( [out, retval] long *pVal ); [propput, id(DISPID_UL_UPLOADJOB_PRIORITY )] HRESULT Priority ( [in] long newVal ); [propget, id(DISPID_UL_UPLOADJOB_CREATIONTIME )] HRESULT CreationTime ( [out, retval] DATE *pVal ); [propget, id(DISPID_UL_UPLOADJOB_COMPLETETIME )] HRESULT CompleteTime ( [out, retval] DATE *pVal ); [propget, id(DISPID_UL_UPLOADJOB_EXPIRATIONTIME)] HRESULT ExpirationTime( [out, retval] DATE *pVal ); // Whistler [propput, id(DISPID_UL_UPLOADJOB_EXPIRATIONTIME)] HRESULT ExpirationTime( [in] DATE newVal ); // Whistler [propput, id(DISPID_UL_UPLOADJOB_ONSTATUSCHANGE )] HRESULT onStatusChange ( [in] IDispatch* function ); [propput, id(DISPID_UL_UPLOADJOB_ONPROGRESSCHANGE)] HRESULT onProgressChange( [in] IDispatch* function ); [id(DISPID_UL_UPLOADJOB_ACTIVATESYNC )] HRESULT ActivateSync (); [id(DISPID_UL_UPLOADJOB_ACTIVATEASYNC)] HRESULT ActivateAsync(); [id(DISPID_UL_UPLOADJOB_SUSPEND )] HRESULT Suspend (); [id(DISPID_UL_UPLOADJOB_DELETE )] HRESULT Delete (); [id(DISPID_UL_UPLOADJOB_GETDATAFROMFILE )] HRESULT GetDataFromFile ( [in ] BSTR bstrFilename ); [id(DISPID_UL_UPLOADJOB_PUTDATAINTOFILE )] HRESULT PutDataIntoFile ( [in ] BSTR bstrFilename ); [id(DISPID_UL_UPLOADJOB_GETDATAFROMSTREAM )] HRESULT GetDataFromStream ( [in ] IUnknown* stream ); [id(DISPID_UL_UPLOADJOB_PUTDATAINTOSTREAM )] HRESULT PutDataIntoStream ( [out, retval] IUnknown* *pstream ); [id(DISPID_UL_UPLOADJOB_GETRESPONSEASSTREAM)] HRESULT GetResponseAsStream( [out, retval] IUnknown* *pstream ); // Whistler }; [ uuid(8E82AD12-D1A3-11D2-9374-00C04F72DAF7), helpstring("DMPCUploadEvents Interface") ] dispinterface DMPCUploadEvents { properties: methods: [id(DISPID_UL_UPLOADEVENTS_ONSTATUSCHANGE )] HRESULT onStatusChange ( [in] IMPCUploadJob* mpcujJob, [in] UL_STATUS usStatus ); [id(DISPID_UL_UPLOADEVENTS_ONPROGRESSCHANGE)] HRESULT onProgressChange( [in] IMPCUploadJob* mpcujJob, [in] long lCurrentSize, [in] long lTotalSize ); }; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// [ object, uuid(8E82AD13-D1A3-11D2-9374-00C04F72DAF7), dual, helpstring("IMPCUpload Interface"), pointer_default(unique) ] interface IMPCUpload : IDispatch { [propget, id(DISPID_NEWENUM), ] HRESULT _NewEnum( [out, retval] IUnknown* *pVal ); [ id(DISPID_VALUE), ] HRESULT Item ( [in] long index, [out, retval] IMPCUploadJob* *pVal ); [propget, id(DISPID_UL_UPLOAD_COUNT)] HRESULT Count ( [out, retval] long *pVal ); [id(DISPID_UL_UPLOAD_CREATEJOB)] HRESULT CreateJob( [out, retval ] IMPCUploadJob* *pVal ); }; [ object, uuid(8E82AD14-D1A3-11D2-9374-00C04F72DAF7), dual, helpstring("IMPCConnection Interface"), pointer_default(unique) ] interface IMPCConnection : IDispatch { [propget, id(DISPID_UL_CONNECTION_AVAILABLE)] HRESULT Available( [out, retval] VARIANT_BOOL *pfOnline ); [propget, id(DISPID_UL_CONNECTION_ISAMODEM )] HRESULT IsAModem ( [out, retval] VARIANT_BOOL *pfModem ); [propget, id(DISPID_UL_CONNECTION_BANDWIDTH)] HRESULT Bandwidth( [out, retval] long *pdwBandwidth ); }; /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// [ uuid(8E82AD00-D1A3-11D2-9374-00C04F72DAF7), version(1.0), helpstring("UploadManager 1.0 Type Library") ] library UPLOADMANAGERLib { importlib("stdole32.tlb"); importlib("stdole2.tlb"); dispinterface DMPCUploadEvents; interface IMPCUploadJob; interface IConnectionPointContainer; interface IConnectionPoint; [ uuid(8E82AD02-D1A3-11D2-9374-00C04F72DAF7), helpstring("MPCUpload Class") ] coclass MPCUpload { [default] interface IMPCUpload; }; [ uuid(8E82AD03-D1A3-11D2-9374-00C04F72DAF7), helpstring("MPCConnection Class") ] coclass MPCConnection { [default] interface IMPCConnection; }; [ uuid(8E82AD04-D1A3-11D2-9374-00C04F72DAF7), helpstring("MPCUploadJob Class"), noncreatable ] coclass MPCUploadJob { [default] interface IMPCUploadJob; [default, source] dispinterface DMPCUploadEvents; } //////////////////////////////////////////////////////////////////////////////// [ uuid(8E82AD05-D1A3-11D2-9374-00C04F72DAF7), helpstring("MPCUploadReal Class") ] coclass MPCUploadReal { [default] interface IMPCUpload; }; [ uuid(8E82AD06-D1A3-11D2-9374-00C04F72DAF7), helpstring("MPCConnectionReal Class") ] coclass MPCConnectionReal { [default] interface IMPCConnection; }; };