Update of /cvsroot/bdadev/TuneReqStore In directory sc8-pr-cvs1:/tmp/cvs-serv10535 Modified Files: TuneInfo.cpp TuneInfo.h TuneReqStore.cpp TuneReqStore.dsp TuneReqStore.idl TuneReqStore.rc resource.h Log Message: Interim Check in of Schedule storage Index: TuneInfo.cpp =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneInfo.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TuneInfo.cpp 20 Feb 2003 07:53:39 -0000 1.3 --- TuneInfo.cpp 20 Feb 2003 17:39:37 -0000 1.4 *************** *** 26,29 **** --- 26,43 ---- // CTuneInfo + CTuneInfo::CTuneInfo() + { + m_TuneRequest = NULL; + m_bRequiresSave = TRUE; + } + + CTuneInfo::~CTuneInfo() + { + if(m_TuneRequest != NULL) + { + m_TuneRequest->Release(); + } + m_bRequiresSave = TRUE; + } STDMETHODIMP CTuneInfo::get_TuneRequest(ITuneRequest **pVal) *************** *** 84,91 **** --- 98,148 ---- } + STDMETHODIMP CTuneInfo::get_ProgramInfomation(IEnumProgramInfo **pVal) + { + if (pVal == NULL) + { + return E_POINTER; + } + + *pVal = NULL; + + CComObject<ComSTLEnum>* pEnum = NULL; + CHECK(CComObject<ComSTLEnum>::CreateInstance(&pEnum)); + + HRESULT hr = pEnum->Init((ITuneInfo*)this, m_ProgramInfos); + + if (SUCCEEDED(hr)) + { + hr = pEnum->QueryInterface(pVal); + } + + if (FAILED(hr)) + { + delete pEnum; + } + + return hr; + } + + void CTuneInfo::EmptyArray() + { + for(int i(0); i < m_ProgramInfos.size(); ++i) + { + if(m_ProgramInfos[i] != NULL) + { + m_ProgramInfos[i]->Release(); + m_ProgramInfos[i] = NULL; + } + } + m_ProgramInfos.empty(); + } + ///////////////////////////////////////////////////////////////////////////// // CVS Log // // $Log$ + // Revision 1.4 2003/02/20 17:39:37 adcockj + // Interim Check in of Schedule storage + // // Revision 1.3 2003/02/20 07:53:39 adcockj // Fixes to crashing problems *************** *** 95,96 **** --- 152,154 ---- // ///////////////////////////////////////////////////////////////////////////// + Index: TuneInfo.h =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneInfo.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TuneInfo.h 20 Feb 2003 09:25:05 -0000 1.4 --- TuneInfo.h 20 Feb 2003 17:39:38 -0000 1.5 *************** *** 33,50 **** { public: ! CTuneInfo() ! { ! m_TuneRequest = NULL; ! m_bRequiresSave = TRUE; ! } ! ! ~CTuneInfo() ! { ! if(m_TuneRequest != NULL) ! { ! m_TuneRequest->Release(); ! } ! m_bRequiresSave = TRUE; ! } DECLARE_REGISTRY_RESOURCEID(IDR_TUNEINFO) --- 33,38 ---- { public: ! CTuneInfo(); ! ~CTuneInfo(); DECLARE_REGISTRY_RESOURCEID(IDR_TUNEINFO) *************** *** 68,71 **** --- 56,60 ---- // ITuneInfo public: + STDMETHOD(get_ProgramInfomation)(/*[out, retval]*/ IEnumProgramInfo* *pVal); STDMETHOD(get_KeyedNumber)(/*[out, retval]*/ long *pVal); STDMETHOD(put_KeyedNumber)(/*[in]*/ long newVal); *************** *** 79,82 **** --- 68,78 ---- private: + void EmptyArray(); + + private: + typedef CComEnumOnSTL<IEnumProgramInfo, &IID_IEnumProgramInfo, IProgramInfo*, _Copy<IProgramInfo*>, std::vector<IProgramInfo*> > ComSTLEnum; + + std::vector<IProgramInfo*> m_ProgramInfos; + ITuneRequest* m_TuneRequest; CComBSTR m_Description; Index: TuneReqStore.cpp =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneReqStore.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TuneReqStore.cpp 19 Feb 2003 17:21:42 -0000 1.3 --- TuneReqStore.cpp 20 Feb 2003 17:39:38 -0000 1.4 *************** *** 31,34 **** --- 31,35 ---- #include "TuneRequestStore.h" #include "TuneInfo.h" + #include "ProgramInfo.h" *************** *** 38,41 **** --- 39,43 ---- OBJECT_ENTRY(CLSID_TuneRequestStore, CTuneRequestStore) OBJECT_ENTRY(CLSID_TuneInfo, CTuneInfo) + OBJECT_ENTRY(CLSID_ProgramInfo, CProgramInfo) END_OBJECT_MAP() *************** *** 93,96 **** --- 95,101 ---- // // $Log$ + // Revision 1.4 2003/02/20 17:39:38 adcockj + // Interim Check in of Schedule storage + // // Revision 1.3 2003/02/19 17:21:42 adcockj // removed midl generated file Index: TuneReqStore.dsp =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneReqStore.dsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TuneReqStore.dsp 19 Feb 2003 15:26:30 -0000 1.4 --- TuneReqStore.dsp 20 Feb 2003 17:39:38 -0000 1.5 *************** *** 112,115 **** --- 112,119 ---- # Begin Source File + SOURCE=.\ProgramInfo.cpp + # End Source File + # Begin Source File + SOURCE=.\StdAfx.cpp # ADD CPP /Yc"stdafx.h" *************** *** 130,144 **** SOURCE=.\TuneReqStore.idl - - !IF "$(CFG)" == "TuneReqStore - Win32 Debug" - - # ADD MTL /tlb ".\TuneReqStore.tlb" /h "TuneReqStore.h" /iid "TuneReqStore_i.c" /Oicf - - !ELSEIF "$(CFG)" == "TuneReqStore - Win32 Release" - # ADD MTL /tlb ".\TuneReqStore.tlb" /h "TuneReqStore.h" /iid "TuneReqStore_i.c" /Oicf - - !ENDIF - # End Source File # Begin Source File --- 134,138 ---- *************** *** 156,159 **** --- 150,157 ---- # Begin Source File + SOURCE=.\ProgramInfo.h + # End Source File + # Begin Source File + SOURCE=.\Resource.h # End Source File *************** *** 174,177 **** --- 172,179 ---- # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" + # Begin Source File + + SOURCE=.\ProgramInfo.rgs + # End Source File # Begin Source File Index: TuneReqStore.idl =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneReqStore.idl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TuneReqStore.idl 19 Feb 2003 17:21:43 -0000 1.3 --- TuneReqStore.idl 20 Feb 2003 17:39:38 -0000 1.4 *************** *** 27,30 **** --- 27,61 ---- [ object, + uuid(5DACDF4D-4422-11D7-B840-0002A5623377), + dual, + helpstring("IProgramInfo Interface"), + pointer_default(unique) + ] + interface IProgramInfo : IDispatch + { + [propget, id(1), helpstring("property Name")] HRESULT Name([out, retval] BSTR *pVal); + [propput, id(1), helpstring("property Name")] HRESULT Name([in] BSTR newVal); + [propget, id(2), helpstring("property Description")] HRESULT Description([out, retval] BSTR *pVal); + [propput, id(2), helpstring("property Description")] HRESULT Description([in] BSTR newVal); + [propget, id(3), helpstring("property Id")] HRESULT Id([out, retval] BSTR *pVal); + [propput, id(3), helpstring("property Id")] HRESULT Id([in] BSTR newVal); + }; + + [ + object, + uuid(211E1F12-44D6-11d7-B840-0002A5623377), + helpstring("Enumerate Program Information."), + pointer_default(unique) + ] + interface IEnumProgramInfo : IUnknown + { + HRESULT Next([in] unsigned long celt, [out] IProgramInfo **ppprop, [out] unsigned long *pcelt); + HRESULT Skip([in] unsigned long celt); + HRESULT Reset(); + HRESULT Clone([out] IEnumProgramInfo **ppenum); + } + + [ + object, uuid(603A3F81-4325-11D7-B840-0002A5623377), dual, *************** *** 43,46 **** --- 74,78 ---- [propget, id(4), helpstring("property KeyedNumber")] HRESULT KeyedNumber([out, retval] long *pVal); [propput, id(4), helpstring("property KeyedNumber")] HRESULT KeyedNumber([in] long newVal); + [propget, id(5), helpstring("property ProgramInfomation")] HRESULT ProgramInfomation([out, retval] IEnumProgramInfo* *pVal); }; *************** *** 106,109 **** --- 138,149 ---- [default] interface ITuneInfo; }; + [ + uuid(5DACDF4E-4422-11D7-B840-0002A5623377), + helpstring("ProgramInfo Class") + ] + coclass ProgramInfo + { + [default] interface IProgramInfo; + }; }; *************** *** 112,115 **** --- 152,158 ---- // // $Log$ + // Revision 1.4 2003/02/20 17:39:38 adcockj + // Interim Check in of Schedule storage + // // Revision 1.3 2003/02/19 17:21:43 adcockj // removed midl generated file Index: TuneReqStore.rc =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/TuneReqStore.rc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TuneReqStore.rc 19 Feb 2003 15:05:19 -0000 1.2 --- TuneReqStore.rc 20 Feb 2003 17:39:38 -0000 1.3 *************** *** 121,124 **** --- 121,125 ---- IDR_TUNEREQUESTSTORE REGISTRY DISCARDABLE "TuneRequestStore.rgs" IDR_TUNEINFO REGISTRY DISCARDABLE "TuneInfo.rgs" + IDR_PROGRAMINFO REGISTRY DISCARDABLE "ProgramInfo.rgs" #endif // English (U.K.) resources ///////////////////////////////////////////////////////////////////////////// Index: resource.h =================================================================== RCS file: /cvsroot/bdadev/TuneReqStore/resource.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** resource.h 19 Feb 2003 15:05:20 -0000 1.2 --- resource.h 20 Feb 2003 17:39:39 -0000 1.3 *************** *** 6,9 **** --- 6,10 ---- #define IDR_TUNEREQUESTSTORE 101 #define IDR_TUNEINFO 102 + #define IDR_PROGRAMINFO 103 // Next default values for new objects *************** *** 14,18 **** #define _APS_NEXT_COMMAND_VALUE 32768 #define _APS_NEXT_CONTROL_VALUE 201 ! #define _APS_NEXT_SYMED_VALUE 103 #endif #endif --- 15,19 ---- #define _APS_NEXT_COMMAND_VALUE 32768 #define _APS_NEXT_CONTROL_VALUE 201 ! #define _APS_NEXT_SYMED_VALUE 104 #endif #endif |