Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

102 lines
3.1 KiB

/******************************************************************************
Copyright (c) 2000 Microsoft Corporation
Module Name:
Favorites.h
Abstract:
This file contains the declaration of the class used to implement
the Favorites inside the Help Center Application.
Revision History:
Davide Massarenti (dmassare) 05/10/2000
created
******************************************************************************/
#if !defined(__INCLUDED___PCH___FAVORITES_H___)
#define __INCLUDED___PCH___FAVORITES_H___
/////////////////////////////////////////////////////////////////////////////
//
// From HelpServiceTypeLib.idl
//
#include <HelpServiceTypeLib.h>
//
// From HelpCenterTypeLib.idl
//
#include <HelpCenterTypeLib.h>
typedef MPC::CComCollection< IPCHFavorites, &LIBID_HelpCenterTypeLib, MPC::CComSafeMultiThreadModel> CPCHFavorites_Parent;
class ATL_NO_VTABLE CPCHFavorites : // Hungarian: pchf
public CPCHFavorites_Parent
{
public:
struct Entry
{
public:
CComPtr<CPCHHelpSessionItem> m_Data;
HRESULT Init( );
HRESULT Load( /*[in]*/ MPC::Serializer& streamIn );
HRESULT Save( /*[in]*/ MPC::Serializer& streamOut );
};
typedef std::list< Entry > List;
typedef List::iterator Iter;
typedef List::const_iterator IterConst;
////////////////////////////////////////
private:
List m_lstFavorites;
bool m_fLoaded;
////////////////////////////////////////
HRESULT Erase();
HRESULT Load();
HRESULT Save();
HRESULT FindEntry( /*[in]*/ IPCHHelpSessionItem* pItem, /*[out]*/ Iter& it );
////////////////////////////////////////
public:
BEGIN_COM_MAP(CPCHFavorites)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IPCHCollection)
COM_INTERFACE_ENTRY(IPCHFavorites)
END_COM_MAP()
CPCHFavorites();
virtual ~CPCHFavorites();
////////////////////////////////////////////////////////////////////////////////
static CPCHFavorites* s_GLOBAL;
static HRESULT InitializeSystem();
static void FinalizeSystem ();
////////////////////////////////////////////////////////////////////////////////
HRESULT Synchronize( /*[in]*/ bool fForce );
public:
// IPCHFavorites
STDMETHOD(IsDuplicate)( /*[in]*/ BSTR bstrURL, /*[out, retval]*/ VARIANT_BOOL *pfDup );
STDMETHOD(Add )( /*[in]*/ BSTR bstrURL, /*[in,optional]*/ VARIANT vTitle , /*[out, retval]*/ IPCHHelpSessionItem* *ppItem );
STDMETHOD(Rename )( /*[in]*/ BSTR bstrTitle, /*[in]*/ IPCHHelpSessionItem* pItem );
STDMETHOD(Move )( /*[in]*/ IPCHHelpSessionItem* pInsertAfter, /*[in]*/ IPCHHelpSessionItem* pItem );
STDMETHOD(Delete )( /*[in]*/ IPCHHelpSessionItem* pItem );
};
/////////////////////////////////////////////////////////////////////////////
#endif // !defined(__INCLUDED___PCH___FAVORITES_H___)