home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / subsmgr.idl < prev    next >
Text File  |  1998-04-25  |  8KB  |  194 lines

  1. //+-------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //  Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved.
  5. //
  6. //--------------------------------------------------------------------------
  7.  
  8. cpp_quote("//=--------------------------------------------------------------------------=")
  9. cpp_quote("// subsmgr.h")
  10. cpp_quote("//=--------------------------------------------------------------------------=")
  11. cpp_quote("// (C) Copyright 1995 - 1998 Microsoft Corporation.  All Rights Reserved.")
  12. cpp_quote("//")
  13. cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
  14. cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
  15. cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
  16. cpp_quote("// PARTICULAR PURPOSE.")
  17. cpp_quote("//=--------------------------------------------------------------------------=")
  18. cpp_quote("")
  19. cpp_quote("#pragma comment(lib,\"uuid.lib\")")
  20. cpp_quote("")
  21. cpp_quote("//---------------------------------------------------------------------------=")
  22. cpp_quote("// Channel Manager Interfaces.")
  23. cpp_quote("")
  24.  
  25. #ifndef DO_NO_IMPORTS
  26. import "unknwn.idl";
  27. #endif
  28.  
  29. //---------------------------------------------------------------
  30. //          Subscription Manager
  31. //---------------------------------------------------------------
  32. [
  33.     uuid(C54FD88A-FFA1-11d0-BC5E-00C04FD929DB),     // LIBID_SubscriptionMgr
  34.     helpstring("Microsoft Subscription Manager 1.0"),
  35.     lcid(0x0000),
  36.     version(1.0)
  37. ]
  38. library SubscriptionMgr
  39. {
  40.  
  41. //---------------------------------------------------------------
  42. //                  Subscription Manager
  43. //---------------------------------------------------------------
  44.  
  45.     [
  46.         uuid(085FB2C0-0DF8-11d1-8F4B-00A0C905413F), // IID_ISubscriptionMgr
  47.         helpstring("Subscription Manager interface"),
  48.         odl
  49.     ]
  50.     interface ISubscriptionMgr : IUnknown
  51.     {
  52.         typedef enum SUBSCRIPTIONTYPE {
  53.             SUBSTYPE_URL = 0,
  54.             SUBSTYPE_CHANNEL = 1,
  55.             SUBSTYPE_DESKTOPURL = 2,
  56.             SUBSTYPE_EXTERNAL = 3,
  57.             SUBSTYPE_DESKTOPCHANNEL = 4
  58.         } SUBSCRIPTIONTYPE;
  59.  
  60.         typedef enum SUBSCRIPTIONINFOFLAGS {
  61.             SUBSINFO_SCHEDULE       = 0x0001,
  62.             SUBSINFO_RECURSE        = 0x0002,
  63.             SUBSINFO_WEBCRAWL       = 0x0004,
  64.             SUBSINFO_MAILNOT        = 0x0008,
  65.             SUBSINFO_MAXSIZEKB      = 0x0010,
  66.             SUBSINFO_USER           = 0x0020,
  67.             SUBSINFO_PASSWORD       = 0x0040,
  68.             SUBSINFO_TASKFLAGS      = 0x0100,
  69.             SUBSINFO_GLEAM          = 0x0200,
  70.             SUBSINFO_CHANGESONLY    = 0x0400,
  71.             SUBSINFO_CHANNELFLAGS   = 0x0800,
  72.             SUBSINFO_FRIENDLYNAME   = 0x2000,
  73.             SUBSINFO_NEEDPASSWORD   = 0x4000,
  74.             SUBSINFO_TYPE           = 0x8000
  75.         } SUBSCRIPTIONINFOFLAGS;
  76.  
  77. cpp_quote("#define SUBSINFO_ALLFLAGS      0x0000EF7F")
  78.  
  79.         typedef enum CREATESUBSCRIPTIONFLAGS {
  80.             CREATESUBS_ADDTOFAVORITES       = 0x0001,
  81.             CREATESUBS_FROMFAVORITES        = 0x0002,
  82.             CREATESUBS_NOUI                 = 0x0004,
  83.             CREATESUBS_NOSAVE               = 0x0008,
  84.             CREATESUBS_SOFTWAREUPDATE       = 0x0010,
  85.         } CREATESUBSCRIPTIONFLAGS;
  86.  
  87.         typedef enum  SUBSCRIPTIONSCHEDULE {
  88.             SUBSSCHED_AUTO       = 0,
  89.             SUBSSCHED_DAILY      = 1,
  90.             SUBSSCHED_WEEKLY     = 2,
  91.             SUBSSCHED_CUSTOM     = 3,
  92.             SUBSSCHED_MANUAL     = 4
  93.         } SUBSCRIPTIONSCHEDULE;
  94.  
  95.         typedef struct _tagSubscriptionInfo {
  96.             DWORD                cbSize;
  97.             DWORD                fUpdateFlags;
  98.             SUBSCRIPTIONSCHEDULE schedule;
  99.             CLSID                customGroupCookie;
  100.             LPVOID               pTrigger;
  101.             DWORD                dwRecurseLevels;
  102.             DWORD                fWebcrawlerFlags;
  103.             BOOL                 bMailNotification;
  104.             BOOL                 bGleam;
  105.             BOOL                 bChangesOnly;
  106.             BOOL                 bNeedPassword;
  107.             DWORD                fChannelFlags;
  108.             BSTR                 bstrUserName;
  109.             BSTR                 bstrPassword;
  110.             BSTR                 bstrFriendlyName;
  111.             DWORD                dwMaxSizeKB;
  112.             SUBSCRIPTIONTYPE     subType;
  113.             DWORD                fTaskFlags;
  114.             DWORD                dwReserved;
  115.         } SUBSCRIPTIONINFO, *LPSUBSCRIPTIONINFO, *PSUBSCRIPTIONINFO;
  116.  
  117.         HRESULT DeleteSubscription([in] LPCWSTR pwszURL, [in] HWND hwnd);
  118.         HRESULT UpdateSubscription([in] LPCWSTR pwszURL);
  119.         HRESULT UpdateAll();
  120.         HRESULT IsSubscribed([in] LPCWSTR pwszURL, [out] BOOL *pfSubscribed);
  121.         HRESULT GetSubscriptionInfo( 
  122.                     [in] LPCWSTR pwszURL,
  123.                     [out] SUBSCRIPTIONINFO *pInfo);
  124.         HRESULT GetDefaultInfo([in] SUBSCRIPTIONTYPE subType, 
  125.                     [out] SUBSCRIPTIONINFO *pInfo);
  126.         HRESULT ShowSubscriptionProperties([in] LPCWSTR pwszURL, [in] HWND hwnd);
  127.         HRESULT CreateSubscription([in] HWND hwnd, [in] LPCWSTR pwszURL,
  128.                     [in] LPCWSTR pwszFriendlyName, [in] DWORD dwFlags,
  129.                     [in] SUBSCRIPTIONTYPE subsType, [in,out] SUBSCRIPTIONINFO *pInfo);
  130.     }
  131.  
  132.     // Subscription Manager object
  133.     [
  134.         uuid(abbe31d0-6dae-11d0-beca-00c04fd940be), // CLSID_SubscriptionMgr
  135.         helpstring("SubscriptionMgr object")
  136.     ]
  137.     coclass SubscriptionMgr
  138.     {
  139.         [default] interface ISubscriptionMgr;
  140.     }
  141. }
  142.  
  143. cpp_quote("")
  144. cpp_quote("")
  145. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  146. cpp_quote("// Information Delivery Agent definitions")
  147.  
  148. cpp_quote("EXTERN_C const CLSID CLSID_WebCrawlerAgent;      ")
  149. cpp_quote("EXTERN_C const CLSID CLSID_ChannelAgent;         ")
  150. cpp_quote("EXTERN_C const CLSID CLSID_DialAgent;            ")
  151. cpp_quote("EXTERN_C const CLSID CLSID_CDLAgent;            ")
  152.  
  153. cpp_quote("")
  154. cpp_quote("// RecurseFlags property for web crawler")
  155. typedef enum WEBCRAWL_RECURSEFLAGS {
  156.     WEBCRAWL_DONT_MAKE_STICKY   = 0x0001,
  157.     WEBCRAWL_GET_IMAGES         = 0x0002,
  158.     WEBCRAWL_GET_VIDEOS         = 0x0004,
  159.     WEBCRAWL_GET_BGSOUNDS       = 0x0008,
  160.     WEBCRAWL_GET_CONTROLS       = 0x0010,
  161.     WEBCRAWL_LINKS_ELSEWHERE    = 0x0020,
  162.     WEBCRAWL_IGNORE_ROBOTSTXT   = 0x0080,
  163. } WEBCRAWL_RECURSEFLAGS;
  164.  
  165. cpp_quote("")
  166. cpp_quote("// ChannelFlags property for channel agent")
  167. typedef enum CHANNEL_AGENT_FLAGS {
  168.     CHANNEL_AGENT_DYNAMIC_SCHEDULE  = 0x0001,
  169.     CHANNEL_AGENT_PRECACHE_SOME     = 0x0002,   // Download Only Precache=Yes
  170.     CHANNEL_AGENT_PRECACHE_ALL      = 0x0004,   // Download All except Precache=No
  171.     CHANNEL_AGENT_PRECACHE_SCRNSAVER= 0x0008,
  172. } CHANNEL_AGENT_FLAGS;
  173.  
  174. cpp_quote("")
  175. cpp_quote("// Status codes for completed delivery agents")
  176. cpp_quote("")
  177. cpp_quote("// Maximum specified subscription size limit reached")
  178. cpp_quote("#define INET_E_AGENT_MAX_SIZE_EXCEEDED       _HRESULT_TYPEDEF_(0x800C0F80L)      ")
  179. cpp_quote("")
  180. cpp_quote("// Maximum cache limit reached")
  181. cpp_quote("#define INET_E_AGENT_CACHE_SIZE_EXCEEDED     _HRESULT_TYPEDEF_(0x800C0F82L)      ")
  182. cpp_quote("")
  183. cpp_quote("// Connection to Internet failed")
  184. cpp_quote("#define INET_E_AGENT_CONNECTION_FAILED       _HRESULT_TYPEDEF_(0x800C0F83L)      ")
  185. cpp_quote("")
  186. cpp_quote("// A few URLs failed but the base url and most sub-urls succeeded")
  187. cpp_quote("#define INET_S_AGENT_PART_FAIL               _HRESULT_TYPEDEF_(0x000C0F81L)      ")
  188.  
  189. cpp_quote("")
  190. cpp_quote("// End Information Delivery Agent definitions")
  191. cpp_quote("////////////////////////////////////////////////////////////////////////////")
  192. cpp_quote("")
  193. cpp_quote("")
  194.