233 lines
10 KiB
Plaintext
233 lines
10 KiB
Plaintext
/******************************************************************************
|
|
|
|
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 <UploadManagerDID.h>
|
|
|
|
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;
|
|
};
|
|
|
|
|
|
};
|