Thread: [Dsmyth-checkins] SF.net SVN: dsmyth: [525] trunk/MythTVReader
Brought to you by:
tobbej
From: <to...@us...> - 2006-10-15 17:03:09
|
Revision: 525 http://svn.sourceforge.net/dsmyth/?rev=525&view=rev Author: tobbej Date: 2006-10-15 10:02:38 -0700 (Sun, 15 Oct 2006) Log Message: ----------- removed cvs ignore files Removed Paths: ------------- trunk/MythTVReader/.cvsignore trunk/MythTVReader/Config/.cvsignore trunk/MythTVReader/DSMyth/.cvsignore trunk/MythTVReader/Debug/.cvsignore trunk/MythTVReader/InnoSetup/.cvsignore trunk/MythTVReader/MythSource/.cvsignore trunk/MythTVReader/NuvConv/.cvsignore trunk/MythTVReader/NuvPropPage/.cvsignore trunk/MythTVReader/Release/.cvsignore trunk/MythTVReader/SourceDoc/.cvsignore trunk/MythTVReader/build/.cvsignore trunk/MythTVReader/common/.cvsignore trunk/MythTVReader/libs/libdvbpsi/doc/.cvsignore trunk/MythTVReader/libs/libdvbpsi/vc++/.cvsignore trunk/MythTVReader/libs/mysql++/win32/.cvsignore trunk/MythTVReader/rtjpg/.cvsignore Deleted: trunk/MythTVReader/.cvsignore =================================================================== --- trunk/MythTVReader/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,3 +0,0 @@ -MythTVReader.suo -MythTVReader.ncb -ChangeLog \ No newline at end of file Deleted: trunk/MythTVReader/Config/.cvsignore =================================================================== --- trunk/MythTVReader/Config/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/Config/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,4 +0,0 @@ -Debug -Release -Config.aps -*.user \ No newline at end of file Deleted: trunk/MythTVReader/DSMyth/.cvsignore =================================================================== --- trunk/MythTVReader/DSMyth/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/DSMyth/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,10 +0,0 @@ -Debug -Release -*.aps -*.tlb -DSMyth_i.c -DSMyth_p.c -DSMyth.h -*.suo -*.user -dlldata.c Deleted: trunk/MythTVReader/Debug/.cvsignore =================================================================== --- trunk/MythTVReader/Debug/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/Debug/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,6 +0,0 @@ -*.exe -*.ilk -*.dll -*.pdb -*.exp -*.lib Deleted: trunk/MythTVReader/InnoSetup/.cvsignore =================================================================== --- trunk/MythTVReader/InnoSetup/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/InnoSetup/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1 +0,0 @@ -Output \ No newline at end of file Deleted: trunk/MythTVReader/MythSource/.cvsignore =================================================================== --- trunk/MythTVReader/MythSource/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/MythSource/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,8 +0,0 @@ -Debug -Release -*.aps -MythSource_i.c -MythSource_p.c -MythSource.h -dlldata.c -*.user \ No newline at end of file Deleted: trunk/MythTVReader/NuvConv/.cvsignore =================================================================== --- trunk/MythTVReader/NuvConv/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/NuvConv/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,4 +0,0 @@ -Debug -Release -*.aps -*.user \ No newline at end of file Deleted: trunk/MythTVReader/NuvPropPage/.cvsignore =================================================================== --- trunk/MythTVReader/NuvPropPage/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/NuvPropPage/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,8 +0,0 @@ -Debug -Release -*.aps -NuvPropPage_i.c -NuvPropPage_p.c -NuvPropPage.h -dlldata.c -*.user \ No newline at end of file Deleted: trunk/MythTVReader/Release/.cvsignore =================================================================== --- trunk/MythTVReader/Release/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/Release/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,6 +0,0 @@ -*.exe -*.ilk -*.dll -*.pdb -*.exp -*.lib Deleted: trunk/MythTVReader/SourceDoc/.cvsignore =================================================================== --- trunk/MythTVReader/SourceDoc/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/SourceDoc/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,3 +0,0 @@ -html -filters-warn.txt -filters.chm Deleted: trunk/MythTVReader/build/.cvsignore =================================================================== --- trunk/MythTVReader/build/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/build/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,4 +0,0 @@ -Build-* -*.exe -*.zip -ftp.txt \ No newline at end of file Deleted: trunk/MythTVReader/common/.cvsignore =================================================================== --- trunk/MythTVReader/common/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/common/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,3 +0,0 @@ -Debug -Release -*.user \ No newline at end of file Deleted: trunk/MythTVReader/libs/libdvbpsi/doc/.cvsignore =================================================================== --- trunk/MythTVReader/libs/libdvbpsi/doc/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/libs/libdvbpsi/doc/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1 +0,0 @@ -doxygen \ No newline at end of file Deleted: trunk/MythTVReader/libs/libdvbpsi/vc++/.cvsignore =================================================================== --- trunk/MythTVReader/libs/libdvbpsi/vc++/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/libs/libdvbpsi/vc++/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,7 +0,0 @@ -libdvbpsi.plg -libdvbpsi.ncb -libdvbpsi.opt -libdvbpsi.aps -libdvbpsi.suo -Debug -Release Deleted: trunk/MythTVReader/libs/mysql++/win32/.cvsignore =================================================================== --- trunk/MythTVReader/libs/mysql++/win32/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/libs/mysql++/win32/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,5 +0,0 @@ -Debug -Release -*.suo -*.ncb -*.user \ No newline at end of file Deleted: trunk/MythTVReader/rtjpg/.cvsignore =================================================================== --- trunk/MythTVReader/rtjpg/.cvsignore 2006-10-15 13:09:50 UTC (rev 524) +++ trunk/MythTVReader/rtjpg/.cvsignore 2006-10-15 17:02:38 UTC (rev 525) @@ -1,11 +0,0 @@ -Debug -DebugPS -Release -ReleasePS -*.aps -rtjpg_i.c -rtjpg_p.c -rtjpg.h -*.suo -dlldata.c -*.user \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <to...@us...> - 2007-07-02 17:02:43
|
Revision: 534 http://svn.sourceforge.net/dsmyth/?rev=534&view=rev Author: tobbej Date: 2007-07-02 10:02:38 -0700 (Mon, 02 Jul 2007) Log Message: ----------- quick fix for aspect packets. this fix allows the filter to ignore the packets and continue, aspect will most likely be messed up, but that's better than stopping playback. Modified Paths: -------------- trunk/MythTVReader/DSMyth/NuvReader.cpp trunk/MythTVReader/DSMyth/NuvReader.h trunk/MythTVReader/common/format.h Modified: trunk/MythTVReader/DSMyth/NuvReader.cpp =================================================================== --- trunk/MythTVReader/DSMyth/NuvReader.cpp 2006-10-15 19:26:00 UTC (rev 533) +++ trunk/MythTVReader/DSMyth/NuvReader.cpp 2007-07-02 17:02:38 UTC (rev 534) @@ -357,6 +357,32 @@ LONGLONG offset=m_VideoPos-FRAMEHEADERSIZE; m_SeekTable.AddFrame(frame,offset); } + + //@todo: this needs to be handled properly + if(header.comptype=='M') + { + rtfileheader newfileheader; + hr=m_pAsyncReader->SyncRead(m_VideoPos,header.packetlength,(BYTE*)&newfileheader); + m_VideoPos+=header.packetlength; + if(hr==S_OK) + { + //can't handle height and width changes yet + ATLASSERT(newfileheader.width==m_fileheader.width && + newfileheader.height==m_fileheader.height); + if(newfileheader.aspect!=m_fileheader.aspect) + { + //@todo there have to be a check what mediatype we are connected with + //there is no point in messing with aspect without VIDEOINFOHEADER2 + + DWORD NewAspectX; + DWORD NewAspectY; + GetAspect(newfileheader.aspect,AspectX,AspectY); + + //dynamic format change? + } + } + + } } else { @@ -493,6 +519,12 @@ { ATLTRACE(_T("%s(%d) : Sync Audio\n"),__FILE__,__LINE__); } + + //aspect change, this is for the video thread not us. + if(header.comptype=='M') + { + m_AudioPos+=header.packetlength; + } } else { @@ -594,9 +626,7 @@ pVIH2->AvgTimePerFrame=(REFERENCE_TIME)(10000000/m_fileheader.fps); pVIH2->dwInterlaceFlags=AMINTERLACE_IsInterlaced|AMINTERLACE_DisplayModeBobOrWeave|AMINTERLACE_FieldPatBothRegular; - //AR is hard coded to 4:3 for now - pVIH2->dwPictAspectRatioX=4; - pVIH2->dwPictAspectRatioY=3; + GetAspect(m_fileheader.aspect,pVIH2->dwPictAspectRatioX,pVIH2->dwPictAspectRatioY); pBMI=&pVIH2->bmiHeader; } else if(dwIndex==1) @@ -1004,4 +1034,28 @@ } return bitrate; +} + +void CNuvReader::GetAspect(double aspect,DWORD &AspectX,DWORD AspectY) +{ + //try to guess exact values for X and Y + //default aspect is 4:3 + if((aspect>.999 && aspect<1.001) || + ((int)(aspect*10000000)==(int)(4.0/3*10000000))) + { + AspectX=4; + AspectY=3; + } + //16:9 + else if((int)(aspect*10000000)==(int)(16.0/9*10000000)) + { + AspectX=16; + AspectY=9; + } + //something else + else + { + AspectX=aspect*10000000; + AspectY=10000000; + } } \ No newline at end of file Modified: trunk/MythTVReader/DSMyth/NuvReader.h =================================================================== --- trunk/MythTVReader/DSMyth/NuvReader.h 2006-10-15 19:26:00 UTC (rev 533) +++ trunk/MythTVReader/DSMyth/NuvReader.h 2007-07-02 17:02:38 UTC (rev 534) @@ -134,6 +134,7 @@ ///This function is used when seeking, it finds the timecode of the new position. bool FindTime(LONGLONG offset,LONGLONG &newoffset,int &timecode,bool bVideo); + void GetAspect(double aspect,DWORD &AspectX,DWORD AspectY); CSeekTable m_SeekTable; CComPtr<IMythSouce> m_pMythSource; Modified: trunk/MythTVReader/common/format.h =================================================================== --- trunk/MythTVReader/common/format.h 2006-10-15 19:26:00 UTC (rev 533) +++ trunk/MythTVReader/common/format.h 2007-07-02 17:02:38 UTC (rev 534) @@ -37,6 +37,7 @@ // 1 .. RTJpeg // 2 .. RTJpeg with lzo afterwards // 3 .. raw YUV420 with lzo afterwards + // 4 .. avcodec (fourcc in the extendeddata) // N .. black frame // L .. simply copy last frame (if lost frames) // A: 0 .. Uncompressed (44100/sec 16bit 2ch) @@ -57,6 +58,7 @@ // V .. Next Video Sync // timecode == next video framenumber // S .. Audio,Video,Text Correlation [NI] + // M .. New Header - format changed (only aspect now) // T: C .. Closed Caption (US) // T .. Teletext Subtitles (Europe) char keyframe; // 0 .. keyframe This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <to...@us...> - 2007-07-08 11:04:15
|
Revision: 535 http://svn.sourceforge.net/dsmyth/?rev=535&view=rev Author: tobbej Date: 2007-07-08 04:04:10 -0700 (Sun, 08 Jul 2007) Log Message: ----------- Lots of changes. * Move CBackendConnection, CProgramInfo, CSocket and some utility functions to common * Teach CNuvInfo to understand IStream (3 new classes) * Make CNuvInfo use CProgramInfo to load data from the database (less code duplication) * Changes to the other projects because of the changes to CNuvInfo Modified Paths: -------------- trunk/MythTVReader/DSMyth/DSMyth.vcproj trunk/MythTVReader/DSMyth/NuvMetadata.cpp trunk/MythTVReader/DSMyth/NuvReader.cpp trunk/MythTVReader/DSMyth/NuvReader.h trunk/MythTVReader/DSMyth/StdAfx.h trunk/MythTVReader/MythSource/MythSource.vcproj trunk/MythTVReader/MythTVReader.sln trunk/MythTVReader/NuvConv/Convert.cpp trunk/MythTVReader/NuvConv/NuvConv.cpp trunk/MythTVReader/NuvConv/ProgressDlg.cpp trunk/MythTVReader/NuvPropPage/NuvColHandler.cpp trunk/MythTVReader/NuvPropPage/NuvDBProps.cpp trunk/MythTVReader/NuvPropPage/NuvPropPage.vcproj trunk/MythTVReader/NuvPropPage/NuvToolTip.cpp trunk/MythTVReader/common/NuvInfo.cpp trunk/MythTVReader/common/NuvInfo.h trunk/MythTVReader/common/common.vcproj trunk/MythTVReader/common/stdafx.h trunk/MythTVReader/common/utils.cpp trunk/MythTVReader/common/utils.h Added Paths: ----------- trunk/MythTVReader/common/BackendConnection.cpp trunk/MythTVReader/common/BackendConnection.h trunk/MythTVReader/common/BaseReader.cpp trunk/MythTVReader/common/BaseReader.h trunk/MythTVReader/common/FileReader.cpp trunk/MythTVReader/common/FileReader.h trunk/MythTVReader/common/ProgramInfo.cpp trunk/MythTVReader/common/ProgramInfo.h trunk/MythTVReader/common/SockException.h trunk/MythTVReader/common/Socket.cpp trunk/MythTVReader/common/Socket.h trunk/MythTVReader/common/StreamReader.cpp trunk/MythTVReader/common/StreamReader.h trunk/MythTVReader/common/exception.h trunk/MythTVReader/common/util.cpp trunk/MythTVReader/common/util.h Removed Paths: ------------- trunk/MythTVReader/MythSource/BackendConnection.cpp trunk/MythTVReader/MythSource/BackendConnection.h trunk/MythTVReader/MythSource/ProgramInfo.cpp trunk/MythTVReader/MythSource/ProgramInfo.h trunk/MythTVReader/MythSource/SockException.h trunk/MythTVReader/MythSource/Socket.cpp trunk/MythTVReader/MythSource/Socket.h trunk/MythTVReader/MythSource/exception.h trunk/MythTVReader/MythSource/util.cpp trunk/MythTVReader/MythSource/util.h Modified: trunk/MythTVReader/DSMyth/DSMyth.vcproj =================================================================== --- trunk/MythTVReader/DSMyth/DSMyth.vcproj 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/DSMyth/DSMyth.vcproj 2007-07-08 11:04:10 UTC (rev 535) @@ -71,7 +71,7 @@ Name="VCLinkerTool" RegisterOutput="true" AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="strmiids.lib version.lib libmysql.lib" + AdditionalDependencies="strmiids.lib version.lib libmysql.lib ws2_32.lib quartz.lib" OutputFile="$(OutDir)/DSMyth.dll" LinkIncremental="1" AdditionalLibraryDirectories="" @@ -164,7 +164,7 @@ Name="VCLinkerTool" RegisterOutput="true" AdditionalOptions="/MACHINE:I386" - AdditionalDependencies="strmiids.lib version.lib libmysql.lib" + AdditionalDependencies="strmiids.lib version.lib libmysql.lib ws2_32.lib quartz.lib" OutputFile="$(OutDir)/DSMyth.dll" LinkIncremental="2" AdditionalLibraryDirectories="" Modified: trunk/MythTVReader/DSMyth/NuvMetadata.cpp =================================================================== --- trunk/MythTVReader/DSMyth/NuvMetadata.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/DSMyth/NuvMetadata.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -83,9 +83,9 @@ CAtlString ErrMsg; CNuvInfo::CFileInfo info; m_FileInfo.GetInfo(m_FileName,info); - if(info.m_bDBInfoLoaded) + if(info.m_bProgramInfoLoaded) { - CComBSTR tmp(info.m_DBTitle); + CComBSTR tmp(info.m_ProgramInfo.m_title); *pbstrTitle=tmp.Copy(); return S_OK; } @@ -111,9 +111,9 @@ CAtlString ErrMsg; CNuvInfo::CFileInfo info; m_FileInfo.GetInfo(m_FileName,info); - if(info.m_bDBInfoLoaded) + if(info.m_bProgramInfoLoaded) { - CComBSTR tmp(info.m_DBDescription); + CComBSTR tmp(info.m_ProgramInfo.m_description); *pbstrDescription=tmp.Copy(); return S_OK; } Modified: trunk/MythTVReader/DSMyth/NuvReader.cpp =================================================================== --- trunk/MythTVReader/DSMyth/NuvReader.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/DSMyth/NuvReader.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -25,6 +25,7 @@ #include "stdafx.h" #include "NuvReader.h" #include "AutoLockCriticalSection.h" +#include "utils.h" #include <MMReg.h> ////////////////////////////////////////////////////////////////////// @@ -376,7 +377,7 @@ DWORD NewAspectX; DWORD NewAspectY; - GetAspect(newfileheader.aspect,AspectX,AspectY); + GetAspect(newfileheader.aspect,NewAspectX,NewAspectY); //dynamic format change? } @@ -1019,23 +1020,6 @@ return true; } -int CNuvReader::FindNearestMP3Bitrate(double rate) -{ - const int bitrate_table [16]= - { 0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1 }; - - int bitrate=0; - for(int i=1;i<=14;i++) - { - if(abs(bitrate_table[i]-rate)<abs(bitrate-rate)) - { - bitrate=bitrate_table[i]; - } - } - - return bitrate; -} - void CNuvReader::GetAspect(double aspect,DWORD &AspectX,DWORD AspectY) { //try to guess exact values for X and Y Modified: trunk/MythTVReader/DSMyth/NuvReader.h =================================================================== --- trunk/MythTVReader/DSMyth/NuvReader.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/DSMyth/NuvReader.h 2007-07-08 11:04:10 UTC (rev 535) @@ -129,7 +129,6 @@ ///Find IMythSouce if present bool FindMythSource(); void FindSourceFileName(CAtlString &filename); - int FindNearestMP3Bitrate(double rate); ///This function is used when seeking, it finds the timecode of the new position. bool FindTime(LONGLONG offset,LONGLONG &newoffset,int &timecode,bool bVideo); Modified: trunk/MythTVReader/DSMyth/StdAfx.h =================================================================== --- trunk/MythTVReader/DSMyth/StdAfx.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/DSMyth/StdAfx.h 2007-07-08 11:04:10 UTC (rev 535) @@ -55,6 +55,7 @@ #include <qnetwork.h> #include <dvdmedia.h> #include <strmif.h> +#include <atltime.h> //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. Deleted: trunk/MythTVReader/MythSource/BackendConnection.cpp =================================================================== --- trunk/MythTVReader/MythSource/BackendConnection.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/BackendConnection.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -1,154 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file BackendConnection.cpp Implementation of CBackendConnection - */ - -#include "StdAfx.h" -#include ".\backendconnection.h" -#include "util.h" - -CBackendConnection::CBackendConnection(bool bAutoClose) -:m_bAutoClose(bAutoClose) -{ -} - -CBackendConnection::~CBackendConnection(void) -{ - //tell backend that we are done with the socket - if(m_bAutoClose /*&& IsConnected()*/) - { - try - { - SendCommand(CAtlString("DONE")); - } - catch(CSockException e) - { - } - } -} - -bool CBackendConnection::ConnectPlayback(bool bEvents) -{ - ATLTRACE(_T("%s(%d) : CBackendConnection::Connect\n"),__FILE__,__LINE__); - CAtlString host; - CAtlString port; - - DWORD dwUseBackendFromDB=TRUE; - CRegKey key; - if(key.Open(HKEY_LOCAL_MACHINE,_T("SOFTWARE\\DSMyth\\MythSource"))==ERROR_SUCCESS) - { - if(key.QueryDWORDValue(_T("UseBackendFromDB"),dwUseBackendFromDB)!=ERROR_SUCCESS) - { - dwUseBackendFromDB=TRUE; - } - } - - if(dwUseBackendFromDB) - { - if(!m_DBUtil.GetMythSetting("MasterServerIP",host)) - { - return false; - } - if(!m_DBUtil.GetMythSetting("MasterServerPort",port)) - { - return false; - } - } - else - { - ULONG ulChars=0; - if(key.QueryStringValue(_T("MasterServerIP"),NULL,&ulChars)!=ERROR_SUCCESS) - { - return false; - } - if(key.QueryStringValue(_T("MasterServerIP"),host.GetBufferSetLength(ulChars),&ulChars)!=ERROR_SUCCESS) - { - return false; - } - host.ReleaseBuffer(); - - if(key.QueryStringValue(_T("MasterServerPort"),NULL,&ulChars)!=ERROR_SUCCESS) - { - return false; - } - if(key.QueryStringValue(_T("MasterServerPort"),port.GetBufferSetLength(ulChars),&ulChars)!=ERROR_SUCCESS) - { - return false; - } - port.ReleaseBuffer(); - } - return ConnectPlayback(host,(unsigned short)atol(port),bEvents); -} - -bool CBackendConnection::ConnectPlayback(CAtlString host,unsigned short port,bool bEvents,bool bBlockShutdown) -{ - ATLTRACE(_T("%s(%d) : CBackendConnection::Connect\n"),__FILE__,__LINE__); - ATLASSERT(!IsConnected()); - - try - { - CSocket::Connect(host,port); - } - catch(CSockException e) - { - ATLTRACE(_T("%s(%d) : CBackendConnection::Connect Socket exception: %s\n"),__FILE__,__LINE__,e.GetError().GetBuffer()); - return false; - } - - if(!CheckProtoVersion(*this)) - { - ATLTRACE(_T("%s(%d) : CBackendConnection::Connect Incompatible network protocol!\n"),__FILE__,__LINE__); - Close(); - return false; - } - - CAtlString result; - CAtlString cmd; - cmd.Format(_T("ANN %s %s %s"),bBlockShutdown ? _T("Playback") : _T("Monitor"), - GetHostName().GetBuffer(),bEvents ? _T("1") : _T("0")); - - ::SendCommand(*this,cmd,result); - if(result!="OK") - { - ATLTRACE(_T("%s(%d) : CBackendConnection::Connect Didn't get OK from Announce\n"),__FILE__,__LINE__); - return false; - } - return true; -} - -bool CBackendConnection::SendCommand(CAtlString &cmd) -{ - //ATLTRACE(_T("%s(%d) : CBackendConnection::SendCommand\n"),__FILE__,__LINE__); - return ::SendCommand(*this,cmd); -} - -bool CBackendConnection::GetResponse(CAtlString &Response,bool bUseTimeout) -{ - //ATLTRACE(_T("%s(%d) : CBackendConnection::GetResponse\n"),__FILE__,__LINE__); - return ::GetResponse(*this,Response,bUseTimeout); -} - -bool CBackendConnection::SendCommand(CAtlString &cmd,CAtlString &Response) -{ - //ATLTRACE(_T("%s(%d) : CBackendConnection::SendCommand\n"),__FILE__,__LINE__); - return ::SendCommand(*this,cmd,Response); -} Deleted: trunk/MythTVReader/MythSource/BackendConnection.h =================================================================== --- trunk/MythTVReader/MythSource/BackendConnection.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/BackendConnection.h 2007-07-08 11:04:10 UTC (rev 535) @@ -1,50 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file BackendConnection.h Declaration of the CBackendConnection - */ - -#pragma once - -#include "Socket.h" -#include "DBUtils.h" - -class CBackendConnection : - public CSocket -{ -public: - CBackendConnection(bool bAutoClose=true); - virtual ~CBackendConnection(void); - - ///Connect to master backend - bool ConnectPlayback(bool bEvents=false); - ///Connect to specified backend - bool ConnectPlayback(CAtlString host,unsigned short port,bool bEvents=false,bool bBlockShutdown=true); - bool SendCommand(CAtlString &cmd,CAtlString &Response); - - bool SendCommand(CAtlString &cmd); - bool GetResponse(CAtlString &Response,bool bUseTimeout=false); - -private: - ///send DONE command in destructor? - bool m_bAutoClose; - CDBUtils m_DBUtil; -}; Modified: trunk/MythTVReader/MythSource/MythSource.vcproj =================================================================== --- trunk/MythTVReader/MythSource/MythSource.vcproj 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/MythSource.vcproj 2007-07-08 11:04:10 UTC (rev 535) @@ -237,10 +237,6 @@ > </File> <File - RelativePath=".\BackendConnection.cpp" - > - </File> - <File RelativePath=".\BackendEventReceiver.cpp" > </File> @@ -297,10 +293,6 @@ > </File> <File - RelativePath="ProgramInfo.cpp" - > - </File> - <File RelativePath=".\PSI.cpp" > </File> @@ -325,10 +317,6 @@ > </File> <File - RelativePath="Socket.cpp" - > - </File> - <File RelativePath="stdafx.cpp" > <FileConfiguration @@ -348,10 +336,6 @@ /> </FileConfiguration> </File> - <File - RelativePath="util.cpp" - > - </File> </Filter> <Filter Name="Header Files" @@ -370,10 +354,6 @@ > </File> <File - RelativePath=".\BackendConnection.h" - > - </File> - <File RelativePath=".\BackendEventReceiver.h" > </File> @@ -394,10 +374,6 @@ > </File> <File - RelativePath="exception.h" - > - </File> - <File RelativePath="FileCache.h" > </File> @@ -422,10 +398,6 @@ > </File> <File - RelativePath="ProgramInfo.h" - > - </File> - <File RelativePath=".\PSI.h" > </File> @@ -454,21 +426,9 @@ > </File> <File - RelativePath="Socket.h" - > - </File> - <File - RelativePath="SockException.h" - > - </File> - <File RelativePath="stdafx.h" > </File> - <File - RelativePath="util.h" - > - </File> </Filter> <Filter Name="Resource Files" Deleted: trunk/MythTVReader/MythSource/ProgramInfo.cpp =================================================================== --- trunk/MythTVReader/MythSource/ProgramInfo.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/ProgramInfo.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -1,470 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file ProgramInfo.cpp Implementation of the CProgramInfo - */ - -#include "StdAfx.h" -#include "programinfo.h" -#include "util.h" -#include "DBUtils.h" -#include "mysql++.h" - -CProgramInfo::CProgramInfo(void) -:m_filesize(0), -m_recstatus(rsUnknown), -m_recordid(0), -m_rectype(kNotRecording), -m_dupin(kDupsInAll), -m_dupmethod(kDupCheckSubDesc), -m_sourceid(0), -m_inputid(0), -m_cardid(0), -m_repeat(false), -m_recpriority(0), -m_chancommfree(0), -m_savedrecstatus(rsUnknown), -m_recgroup("Default"), -m_shareable(false), -m_stars(0), -m_programflags(0), -m_hasairdate(false), -m_findid(0), -m_duplicate(false), -m_recpriority2(0), -m_parentid(0) -{ - m_startts=CTime::GetCurrentTime(); - m_endts=m_startts; - m_recstartts=m_startts; - m_recendts=m_startts; - m_lastmodified=m_startts; -} - -CProgramInfo::~CProgramInfo(void) -{ -} - -bool CProgramInfo::FromString(const CAtlString &str) -{ - CAtlArray<CAtlString> list; - SplitString(str,list); - return FromList(list,0); -} - -bool CProgramInfo::FromList(CAtlArray<CAtlString> &list,unsigned int offset) -{ - ATLASSERT(offset+NUMPROGRAMLINES<=list.GetCount()); - if(offset+NUMPROGRAMLINES-1>list.GetCount()) - { - //oops, something is wrong -#ifdef _DEBUG - DebugBreak(); -#endif - return false; - } - - m_title=list[offset].Trim(); - m_subtitle=list[offset+1].Trim(); - m_description=list[offset+2].Trim(); - m_category=list[offset+3].Trim(); - - m_chanid=list[offset+4].Trim(); - m_chanstr=list[offset+5].Trim(); - m_chansign=list[offset+6].Trim(); - m_channame=list[offset+7].Trim(); - m_pathname=list[offset+8].Trim(); - m_filesize=DecodeLongLong(list[offset+9],list[offset+10]); - m_startts=_atoi64(list[offset+11]); - m_endts=_atoi64(list[offset+12]); - //m_duplicate=atoi(list[offset+13])!=0; - m_shareable=atoi(list[offset+14])!=0; - m_findid=atoi(list[offset+15]); - m_hostname=list[offset+16].Trim(); - m_sourceid=atoi(list[offset+17]); - m_cardid=atoi(list[offset+18]); - m_inputid=atoi(list[offset+19]); - m_recpriority=atoi(list[offset+20]); - m_recstatus=RecStatusType(atoi(list[offset+21])); - m_recordid=atoi(list[offset+22]); - m_rectype=RecordingType(atoi(list[offset+23])); - m_dupin=RecordingDupInType(atoi(list[offset+24])); - m_dupmethod=RecordingDupMethodType(atoi(list[offset+25])); - m_recstartts=_atoi64(list[offset+26]); - m_recendts=_atoi64(list[offset+27]); - m_repeat=atoi(list[offset+28])!=0; - m_programflags=atoi(list[offset+29]); - m_recgroup=(list[offset+30].Trim() != "" ? list[offset+30].Trim() : "Default"); - m_chancommfree=atoi(list[offset+31]); - m_chanoutputfilters=list[offset+32].Trim(); - m_seriesid=list[offset+33].Trim(); - m_programid=list[offset+34].Trim(); - m_lastmodified=_atoi64(list[offset+35]); - m_stars=atof(list[offset+36].Trim()); - m_orginalAirDate=list[offset+37].Trim(); - m_hasairdate=atoi(list[offset+38])!=0; - m_playgroup=(list[offset+39].Trim() != "" ? list[offset+39].Trim() : "Default"); - m_recpriority2=atoi(list[offset+39]); - m_parentid=atoi(list[offset+40]); - - return true; -} - -void CProgramInfo::ToString(CAtlString &str) -{ - str.Format("%s[]:[]%s[]:[]%s[]:[]%s[]:[]%s[]:[]%s[]:[]%s[]:[]%s[]:[]%s[]:[]%ld[]:[]%ld[]:[]%I64d[]:[]%I64d[]:[]%d[]:[]%d[]:[]%d[]:[]%s[]:[]%d[]:[]%d[]:[]%d[]:[]%d[]:[]%d[]:[]%u[]:[]%d[]:[]%d[]:[]%d[]:[]%I64d[]:[]%I64d[]:[]%d[]:[]%d[]:[]%s[]:[]%d[]:[]%s[]:[]%s[]:[]%s[]:[]%I64d[]:[]%g[]:[]%s[]:[]%d[]:[]%s[]:[]%d[]:[]%d", - m_title.GetBuffer(), - m_subtitle.GetBuffer(), - m_description.GetBuffer(), - m_category.GetBuffer(), - m_chanid.GetBuffer(), - m_chanstr.GetBuffer(), - m_chansign.GetBuffer(), - m_channame.GetBuffer(), - m_pathname.GetBuffer(), - (long)(m_filesize>>32), - (long)m_filesize&0xffffffff, - m_startts.GetTime(), - m_endts.GetTime(), - (int)m_duplicate, - (int)m_shareable, - m_findid, - m_hostname.GetBuffer(), - m_sourceid, - m_cardid, - m_inputid, - m_recpriority, - (int)m_recstatus, - m_recordid, - (int)m_rectype, - (int)m_dupin, - (int)m_dupmethod, - m_recstartts.GetTime(), - m_recendts.GetTime(), - (int)m_repeat, - (int)m_programflags, - m_recgroup!="" ? m_recgroup.GetBuffer() : "Default", - m_chancommfree, - m_chanoutputfilters.GetBuffer(), - m_seriesid.GetBuffer(), - m_programid.GetBuffer(), - m_lastmodified.GetTime(), - m_stars, - m_orginalAirDate.GetBuffer(), - (int)m_hasairdate, - (m_playgroup!="" ? m_playgroup.GetBuffer() : "Default"), - m_recpriority2, - m_parentid - ); -} - -bool CProgramInfo::GetProgramFromRecorded(const CAtlString &channel,const CTime &starttime,CProgramInfo &prog) -{ - return GetProgramFromRecorded(channel,starttime.Format("%Y-%m-%dT%H:%M:%S"),prog); -} - -bool CProgramInfo::GetProgramFromRecorded(const CAtlString &channel,const CAtlString &starttime,CProgramInfo &prog) -{ - CDBUtils util; - try - { - mysqlpp::Connection con(false); - if(!util.Connect(con)) - { - return false; - } - mysqlpp::Query query=con.query(); - query << "SELECT recorded.chanid,UNIX_TIMESTAMP(starttime),UNIX_TIMESTAMP(endtime),title, " - "subtitle,description,channel.channum, " - "channel.callsign,channel.name,channel.commfree, " - "channel.outputfilters,seriesid,programid,filesize, " - "UNIX_TIMESTAMP(lastmodified),stars,previouslyshown,originalairdate, " - "hostname,recordid,transcoder,playgroup, " - "recorded.recpriority,UNIX_TIMESTAMP(progstart),UNIX_TIMESTAMP(progend),basename,recgroup " - "FROM recorded " - "LEFT JOIN channel " - "ON recorded.chanid = channel.chanid " - "WHERE recorded.chanid = %0q:chanid " - "AND starttime = %1q:starttime ;"; - query.parse(); - query.def["chanid"]=channel; - query.def["starttime"]=starttime; - mysqlpp::Result res=query.store(); - if(res && res.num_rows()>0) - { - mysqlpp::Row row=res.at(0); - - prog.m_chanid=row.at(0); - prog.m_startts=_atoi64(row[23]); - prog.m_endts=_atoi64(row[24]); - prog.m_recstartts=_atoi64(row[1]); - prog.m_recendts=_atoi64(row[2]); - prog.m_title=row[3]; - prog.m_subtitle=row[4]; - prog.m_description=row[5]; - - prog.m_chanstr=row[6]; - prog.m_chansign=row[7]; - prog.m_channame=row[8]; - prog.m_chancommfree=row[9]; - prog.m_chanoutputfilters=row[10]; - prog.m_seriesid=row[11]; - prog.m_programid=row[12]; - prog.m_filesize=row[13]; - prog.m_lastmodified=_atoi64(row[14]); - prog.m_stars=atof(row[15]); - prog.m_repeat=atoi(row[16])!=0; - - if(row[17].is_null() || CAtlString(row[17]).IsEmpty()) - { - prog.m_orginalAirDate=prog.m_startts.Format("%Y-%m-%d"); - prog.m_hasairdate=false; - } - else - { - prog.m_orginalAirDate=row[17]; - prog.m_hasairdate=true; - } - prog.m_hostname=row[18]; - prog.m_recordid=atoi(row[19]); - //prog.m_transcoder=(row[20]==NULL ? 0 : atoi(row[20])); - prog.m_programflags=prog.GetProgramFlags(); - prog.m_recgroup=row[26]; - prog.m_playgroup=row[21]; - prog.m_recpriority=atoi(row[22]); - prog.m_pathname=row[25]; - return true; - } - } - catch(mysqlpp::Exception &e) - { - ATLTRACE(_T("%s(%d) : CProgramInfo::GetProgramFromRecorded db exception: %s\n"),__FILE__,__LINE__,e.what()); - } - return false; -} - -int CProgramInfo::GetProgramFlags(void) const -{ - CDBUtils util; - int flags=0; - try - { - mysqlpp::Connection con(false); - if(!util.Connect(con)) - { - return false; - } - mysqlpp::Query query=con.query(); - query << "SELECT commflagged, cutlist, autoexpire, " - "editing, bookmark, stereo, closecaptioned, hdtv " - "FROM recorded LEFT JOIN recordedprogram ON " - "(recorded.chanid = recordedprogram.chanid AND " - "recorded.starttime = recordedprogram.starttime) " - "WHERE recorded.chanid = %0q:chanid AND recorded.starttime = FROM_UNIXTIME(%1q:starttime) ;"; - query.parse(); - query.def["chanid"]=m_chanid; - query.def["starttime"]=m_recstartts.GetTime(); - mysqlpp::Result res=query.store(); - if(res && res.num_rows()>0) - { - mysqlpp::Row row=res.at(0); - flags|=((long)row.at(0)==COMM_FLAG_DONE) ? FL_COMMFLAG : 0; - flags|=row.at(1).length()>1 ? FL_CUTLIST : 0; - flags|=((long)row.at(2) !=0) ? FL_AUTOEXP : 0; - if(((long)row.at(3)!=0) || - ((long)row.at(0)==COMM_FLAG_PROCESSING)) - { - flags|=FL_EDITING; - } - flags|=row.at(4).length()>1 ? FL_BOOKMARK : 0; - flags|=row.at(5).length()>1 ? FL_STEREO : 0; - flags|=row.at(6).length()>1 ? FL_CC : 0; - flags|=row.at(7).length()>1 ? FL_HDTV : 0; - } - } - catch(mysqlpp::Exception &e) - { - ATLTRACE(_T("%s(%d) : CProgramInfo::GetProgramFlags db exception: %s\n"),__FILE__,__LINE__,e.what()); - return 0; - } - return flags; -} - -void CProgramInfo::UpdateInUseMark(bool bForce) -{ - if(m_inUseForWhat.GetLength()==0) - { - return; - } - if(bForce || ((CTime::GetCurrentTime().GetTime()-m_lastInUseTime.GetTime()) > 60*60) ) - { - MarkAsInUse(true); - } -} - -void CProgramInfo::MarkAsInUse(bool bInUse,CAtlString UsedFor) -{ - bool bChanged=false; - if(bInUse && m_inUseForWhat.GetLength()==0) - { - if(UsedFor.GetLength()>0) - { - m_inUseForWhat=UsedFor; - } - else - { - m_inUseForWhat="Unknown"; - } - bChanged=true; - } - if(!bInUse && m_inUseForWhat.GetLength()==0) - { - return; - } - - CDBUtils util; - mysqlpp::Connection con(false); - try - { - if(!util.Connect(con)) - { - return; - } - - mysqlpp::Query query=con.query(); - query << "DELETE FROM inuseprograms WHERE " - "chanid = %0q:chanid AND starttime = FROM_UNIXTIME(%1:starttime) AND hostname = %2q:hostname AND recusage = %3q:recusage ;"; - query.parse(); - query.def["chanid"]=m_chanid; - query.def["starttime"]=m_recstartts.GetTime(); - query.def["hostname"]=GetHostName(); - query.def["recusage"]=m_inUseForWhat; - query.execute(); - - if(!bInUse) - { - RemoteSendMessage("RECORDING_LIST_CHANGE"); - m_inUseForWhat=""; - return; - } - m_lastInUseTime=CTime::GetCurrentTime(); - - query.reset(); - query << "INSERT INTO inuseprograms " - " (chanid, starttime, recusage, hostname, lastupdatetime) " - " VALUES " - " (%0q:chanid, FROM_UNIXTIME(%1q:starttime), %2q:recusage, %3q:hostname, FROM_UNIXTIME(%4q:lastupdatetime));"; - query.parse(); - query.def["chanid"]=m_chanid; - query.def["starttime"]=m_recstartts.GetTime(); - query.def["recusage"]=m_inUseForWhat; - query.def["hostname"]=GetHostName(); - query.def["lastupdatetime"]=m_lastInUseTime.GetTime(); - - query.execute(); - } - catch(mysqlpp::Exception &e) - { - ATLTRACE(_T("%s(%d) : CProgramInfo::MarkAsInUse db exception: %s\n"),__FILE__,__LINE__,e.what()); - } - - if(bChanged) - { - RemoteSendMessage("RECORDING_LIST_CHANGE"); - } -} - -bool CProgramInfo::IsInUse(CAtlString &who) -{ - CDBUtils util; - try - { - mysqlpp::Connection con(false); - if(!util.Connect(con)) - { - return false; - } - - CTime OneHourAgo=CTime::GetCurrentTime()+CTimeSpan(-61*60); - mysqlpp::Query query=con.query(); - query << "SELECT hostname, recusage FROM inuseprograms " - " WHERE chanid = %0q:chanid" - " AND starttime = FROM_UNIXTIME(%1q:starttime) " - " AND lastupdatetime > FROM_UNIXTIME(%2q:time) ;"; - query.parse(); - query.def["chanid"]=m_chanid; - query.def["starttime"]=m_recstartts.GetTime(); - query.def["time"]=OneHourAgo.GetTime(); - - mysqlpp::Result res=query.store(); - if(res) - { - mysqlpp::Row row; - while(row=res.fetch_row()) - { - who+=CAtlString(row.at(0)); - who+=" ("; - CAtlString recusage=row.at(1); - if(recusage=="player") - { - who+="Playing"; - } - else if(recusage=="preview player") - { - who+="Playing (preview)"; - } - //"Preview" - else if(recusage=="preview_generator") - { - who+="Preview generator"; - } - else if(recusage=="recorder") - { - who+="Recording"; - } - //"seektable rebuilder" - else if(recusage=="flagger") - { - who+="Commercial Flagging"; - } - else if(recusage=="transcoder") - { - who+="Transcoding"; - } - else if(recusage=="PIP player") - { - who+="PIP"; - } - else - { - who+="Unknown"; - } - who+=")\n"; - } - return true; - } - } - catch(mysqlpp::Exception &e) - { - ATLTRACE(_T("%s(%d) : CProgramInfo::IsInUse db exception: %s\n"),__FILE__,__LINE__,e.what()); - } - return false; -} \ No newline at end of file Deleted: trunk/MythTVReader/MythSource/ProgramInfo.h =================================================================== --- trunk/MythTVReader/MythSource/ProgramInfo.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/ProgramInfo.h 2007-07-08 11:04:10 UTC (rev 535) @@ -1,189 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file ProgramInfo.h Declaration of the CProgramInfo - */ - -#pragma once - -#define NUMPROGRAMLINES 42 -enum RecordingType -{ - kNotRecording = 0, - kSingleRecord = 1, - kTimeslotRecord, - kChannelRecord, - kAllRecord, - kWeekslotRecord, - kFindOneRecord, - kOverrideRecord, - kDontRecord, - kFindDailyRecord, - kFindWeeklyRecord -}; - -enum CommFlagStatuses -{ - COMM_FLAG_NOT_FLAGGED = 0, - COMM_FLAG_DONE = 1, - COMM_FLAG_PROCESSING = 2, - COMM_FLAG_COMMFREE = 3 -}; - -enum FlagMask -{ - FL_COMMFLAG = 0x001, - FL_CUTLIST = 0x002, - FL_AUTOEXP = 0x004, - FL_EDITING = 0x008, - FL_BOOKMARK = 0x010, - FL_INUSERECORDING = 0x020, - FL_INUSEPLAYING = 0x040, - FL_STEREO = 0x080, - FL_CC = 0x100, - FL_HDTV = 0x200, - FL_TRANSCODED = 0x400 -}; - -enum RecStatusType -{ - rsFailed = -9, - rsTunerBusy = -8, - rsLowDiskSpace = -7, - rsCancelled = -6, - rsMissed = -5, - rsAborted = -4, - rsRecorded = -3, - rsRecording = -2, - rsWillRecord = -1, - rsUnknown = 0, - rsDontRecord = 1, - rsPreviousRecording = 2, - rsCurrentRecording = 3, - rsEarlierShowing = 4, - rsTooManyRecordings = 5, - rsNotListed = 6, - rsConflict = 7, - rsLaterShowing = 8, - rsRepeat = 9, - rsInactive = 10, - rsNeverRecord = 11, - rsOffLine = 12 -}; - -enum RecordingDupInType -{ - kDupsInRecorded = 0x01, - kDupsInOldRecorded = 0x02, - kDupsInBoth = 0x03, - kDupsNewEpi = 0x04, - kDupsInAll = 0x0F -}; - - -enum RecordingDupMethodType -{ - kDupCheckNone = 0x01, - kDupCheckSub = 0x02, - kDupCheckDesc = 0x04, - kDupCheckSubDesc = 0x06 -}; - -/** - * Class to handle information about a program. - * @todo Do the UTF8 conversion in this class and not in all the other classes - */ -class CProgramInfo -{ -public: - CProgramInfo(void); - ~CProgramInfo(void); - - bool FromString(const CAtlString &str); - bool FromList(CAtlArray<CAtlString> &list,unsigned int offset); - void ToString(CAtlString &str); - static bool GetProgramFromRecorded(const CAtlString &channel,const CTime &starttime,CProgramInfo &prog); - static bool GetProgramFromRecorded(const CAtlString &channel,const CAtlString &starttime,CProgramInfo &prog); - - void UpdateInUseMark(bool bForce=false); - void MarkAsInUse(bool bInUse,CAtlString UsedFor=""); - bool IsInUse(CAtlString &who); - -public: - CAtlString m_title; - CAtlString m_subtitle; - CAtlString m_description; - CAtlString m_category; - - CAtlString m_chanid; - CAtlString m_chanstr; - CAtlString m_chansign; - CAtlString m_channame; - int m_recpriority; - int m_recpriority2; - CAtlString m_recgroup; - CAtlString m_playgroup; - int m_chancommfree; - - CAtlString m_pathname; - LONGLONG m_filesize; - CAtlString m_hostname; - - CTime m_startts; - CTime m_endts; - CTime m_recstartts; - CTime m_recendts; - - bool m_hasairdate; - bool m_repeat; - - RecStatusType m_recstatus; - RecStatusType m_savedrecstatus; - int m_recordid; - RecordingType m_rectype; - RecordingDupInType m_dupin; - RecordingDupMethodType m_dupmethod; - - int m_sourceid; - int m_inputid; - int m_cardid; - bool m_shareable; - bool m_duplicate; - - int m_findid; - - int m_programflags; - CAtlString m_chanoutputfilters; - - CAtlString m_seriesid; - CAtlString m_programid; - - float m_stars; - CAtlString m_orginalAirDate; - CTime m_lastmodified; - CTime m_lastInUseTime; - - int m_parentid; - -private: - int GetProgramFlags(void) const; - CAtlString m_inUseForWhat; -}; Deleted: trunk/MythTVReader/MythSource/SockException.h =================================================================== --- trunk/MythTVReader/MythSource/SockException.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/SockException.h 2007-07-08 11:04:10 UTC (rev 535) @@ -1,50 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -#pragma once -#include "exception.h" - -class CSockException : - public CException -{ -public: - CSockException(const CAtlString &msg) - :CException(msg),m_WinSockError(0) - { - } - CSockException(int ErrorCode) - { - m_WinSockError=ErrorCode; - m_ErrorMsg.Format(_T("WinSockError: %d"),ErrorCode); - } - CSockException(const CAtlString &msg,int ErrorCode) - { - m_WinSockError=ErrorCode; - m_ErrorMsg.Format(_T("%s (%d)"),msg,ErrorCode); - } - - int GetErrorCode() - { - return m_WinSockError; - } - -private: - int m_WinSockError; -}; Deleted: trunk/MythTVReader/MythSource/Socket.cpp =================================================================== --- trunk/MythTVReader/MythSource/Socket.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/Socket.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -1,184 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file Socket.cpp - */ - -#include "StdAfx.h" -#include "Socket.h" - -CSocket::CSocket() -:m_sock(INVALID_SOCKET) -{ - -} -CSocket::CSocket(SOCKET socket) -:m_sock(socket) -{ - -}; - -CSocket::~CSocket() -{ - if(m_sock!=INVALID_SOCKET) - { - try - { - Close(); - } - catch(CSockException e) - { - ATLTRACE(_T("%s(%d) : CSocket::~CSocket Exception: %s\n"),__FILE__,__LINE__,e.GetError().GetBuffer()); - } - } -} - -void CSocket::Connect(CAtlString hostname,unsigned short port) -{ - if(m_sock!=INVALID_SOCKET) - { - Close(); - } - sockaddr_in host; - ZeroMemory(&host,sizeof(sockaddr_in)); - host.sin_family=AF_INET; - host.sin_port=htons(port); - unsigned long ip=inet_addr(hostname); - if(ip==INADDR_NONE) - { - struct hostent *h=NULL; - h=gethostbyname(hostname); - if(h!=NULL) - { - ip=((in_addr*)h->h_addr_list[0])->S_un.S_addr; - } - else - { - throw CSockException("Can't resolve host name"); - } - } - host.sin_addr.S_un.S_addr=ip; - - if((m_sock=socket(PF_INET,SOCK_STREAM,0))==INVALID_SOCKET) - { - throw CSockException("Can't create socket",WSAGetLastError()); - } - if(::connect(m_sock,(sockaddr*)&host,sizeof(sockaddr_in))==SOCKET_ERROR) - { - throw CSockException("Connect failed",WSAGetLastError()); - } -} - -void CSocket::Close() -{ - if(m_sock!=INVALID_SOCKET) - { - if(::shutdown(m_sock,SD_BOTH)==SOCKET_ERROR) - { - m_sock=INVALID_SOCKET; - throw CSockException("Close failed",WSAGetLastError()); - } - m_sock=INVALID_SOCKET; - } -} - -int CSocket::Send(CAtlString &data) -{ - if(m_sock==INVALID_SOCKET) - { - throw CSockException("Invalid socket handle in CSocket::Send"); - } - - int tmp=::send(m_sock, data.GetBuffer(), data.GetLength(),0); - if(tmp==SOCKET_ERROR) - { - throw CSockException("Send failed",WSAGetLastError()); - } - return tmp; -} - -int CSocket::Recv(char *data, int length,bool bShortRead) -{ - if(m_sock==INVALID_SOCKET) - { - throw CSockException("Invalid socket handle in CSocket::Recv"); - } - - int cbRecived=0; - while(cbRecived<length) - { - //if bShortRead is true, there might not be any data at all - //for example if trying to open a non existent file - if(bShortRead) - { - timeval tv; - tv.tv_sec=5; - tv.tv_usec=0; - fd_set recvset; - FD_ZERO(&recvset); - FD_SET(m_sock,&recvset); - int result=select(1,&recvset,NULL,NULL,&tv); - if(result==0) - { - throw CSockException("Timeout waiting for data on socket"); - } - else if(result==SOCKET_ERROR) - { - throw CSockException("Error from select"),WSAGetLastError(); - } - /*else if(result>0 && FD_ISSET(m_sock,&recvset)) - { - - }*/ - } - - int tmp=::recv(m_sock, data+cbRecived, length-cbRecived,0); - if(tmp==SOCKET_ERROR) - { - throw CSockException("Recv failed",WSAGetLastError()); - } - if(tmp==0) - { - //socket has been closed, call Close()? - break; - } - cbRecived+=tmp; - if(bShortRead) - { - break; - } - } - return cbRecived; -} - -bool CSocket::IsConnected() -{ - if(m_sock==INVALID_SOCKET) - { - return false; - } - sockaddr_in addr; - ZeroMemory(&addr,sizeof(sockaddr_in)); - int size=sizeof(sockaddr_in); - - int result=getpeername(m_sock,(sockaddr*)&addr,&size); - return result==0 ? true : false; -} \ No newline at end of file Deleted: trunk/MythTVReader/MythSource/Socket.h =================================================================== --- trunk/MythTVReader/MythSource/Socket.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/Socket.h 2007-07-08 11:04:10 UTC (rev 535) @@ -1,55 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file Socket.h - */ - -#pragma once - -#include <winsock2.h> -#include "SockException.h" - -class CSocket -{ -public: - CSocket(); - CSocket(SOCKET socket); - - virtual ~CSocket(); - - void Connect(CAtlString hostname,unsigned short port); - void Close(); - int Send(CAtlString &data); - - /** - * @param bShortRead allow returning before length bytes is read - */ - int Recv(char *data, int length,bool bShortRead=false); - - bool IsConnected(); - operator SOCKET() - { - return m_sock; - } - -protected: - SOCKET m_sock; -}; Deleted: trunk/MythTVReader/MythSource/exception.h =================================================================== --- trunk/MythTVReader/MythSource/exception.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/exception.h 2007-07-08 11:04:10 UTC (rev 535) @@ -1,48 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file exception.h - */ - -#pragma once - -class CException -{ -public: - CException() - { - } - CException(const CAtlString &ErrorMsg) - :m_ErrorMsg(ErrorMsg) - { - - } - virtual ~CException() - { - - } - virtual CAtlString GetError() - { - return m_ErrorMsg; - } -protected: - CAtlString m_ErrorMsg; -}; \ No newline at end of file Deleted: trunk/MythTVReader/MythSource/util.cpp =================================================================== --- trunk/MythTVReader/MythSource/util.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/util.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -1,228 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file util.cpp - */ - -#include "StdAfx.h" -#include "util.h" -#include "BackendConnection.h" - -bool SendCommand(CSocket &sock,CAtlString &cmd,CAtlString &Response) -{ - Response=""; - if(!SendCommand(sock,cmd)) - { - return false; - } - if(cmd!="DONE") - { - return GetResponse(sock,Response); - } - else - { - return true; - } -} - -bool SendCommand(CSocket &sock,CAtlString &cmd) -{ - CAtlString command; - command.Format(_T("%-8d%s"),cmd.GetLength(),cmd); - try - { - int res=sock.Send(command); - } - catch(CSockException &e) - { - //close the socket since it's probably broken anyway. - if(e.GetErrorCode()>=WSABASEERR) - { - sock.Close(); - } - - ATLTRACE(_T("%s(%d) : SendCommand Socket exception: %s\n"),__FILE__,__LINE__,e.GetError().GetBuffer()); - return false; - } - - if(cmd=="DONE") - { - sock.Close(); - } - return true; -} - -bool GetResponse(CSocket &sock,CAtlString &Response,bool bUseTimeout) -{ - try - { - CAtlString tmp; - int res=sock.Recv(tmp.GetBufferSetLength(8),8,bUseTimeout); - tmp.ReleaseBuffer(res); - if(res==8) - { - tmp.Trim(" "); - long size=atol(tmp.GetBuffer()); - - res=sock.Recv(Response.GetBufferSetLength(size),size); - ATLASSERT(res==size); - Response.ReleaseBuffer(res); - if(res==size) - { - return true; - } - } - //couldn't read enough data from socket - return false; - } - catch(CSockException e) - { - //close the socket since it's probably broken anyway. - if(e.GetErrorCode()>=WSABASEERR) - { - sock.Close(); - } - ATLTRACE(_T("%s(%d) : GetResponse Socket exception: %s\n"),__FILE__,__LINE__,e.GetError().GetBuffer()); - return false; - } -} - -/** - * @todo maybe the hostname should be configurable to either use dns name or - * a user configurable string as hostname similar to what myth allows in mysql.txt - */ -CAtlString GetHostName() -{ - CAtlString tmp; - gethostname(tmp.GetBufferSetLength(200),200); - tmp.ReleaseBuffer(); - return tmp; -} - -LONGLONG DecodeLongLong(CAtlString &l1,CAtlString &l2) -{ - return DecodeLongLong(atol(l1.GetBuffer()),atol(l2.GetBuffer())); -} - -LONGLONG DecodeLongLong(long l1,long l2) -{ - return (((LONGLONG)l1 << 32) | ((LONGLONG)l2&0xffffffff)); -} - -bool CheckProtoVersion(CSocket &sock) -{ - CAtlString resp; - CAtlString cmd; - cmd.Format("MYTH_PROTO_VERSION %d",MYTH_PROTO_VERSION); - if(!SendCommand(sock,cmd,resp)) - { - ATLTRACE(_T("%s(%d) : CheckProtoVersion: SendCommand failed\n"),__FILE__,__LINE__); - return false; - } - - CAtlArray<CAtlString> list; - SplitString(resp,list); - if(list.GetCount()!=2) - { - return false; - } - - if(list[0]=="REJECT") - { - ATLTRACE(_T("%s(%d) : Protocol version mismatch (My Version=%d, backend=%d\n"),__FILE__,__LINE__,MYTH_PROTO_VERSION,atoi(list[1].GetBuffer())); - return false; - } - else if(list[0]=="ACCEPT") - { - ATLTRACE(_T("%s(%d) : Using protocol version %d\n"),__FILE__,__LINE__,atoi(list[1].GetBuffer())); - return true; - } - else - { - ATLTRACE(_T("%s(%d) : Unexpected response to MYTH_PROTO_VERSION: %s\n"),__FILE__,__LINE__,list[1].GetBuffer()); - return false; - } -} - -bool GetErrorMessage(DWORD errorcode,CAtlString &msg) -{ - TCHAR szErrMsg[MAX_ERROR_TEXT_LEN]; - LPVOID lpMsgBuf; - if(FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM|FORMAT_MESSAGE_IGNORE_INSERTS,NULL, - errorcode,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),(LPTSTR) &lpMsgBuf,0,NULL )) - { - msg=(LPCTSTR)lpMsgBuf; - LocalFree(lpMsgBuf); - return true; - } - else if(AMGetErrorText(errorcode,szErrMsg,MAX_ERROR_TEXT_LEN)>0) - { - msg=szErrMsg; - return true; - } - - return false; -} - -void RemoteSendMessage(const CAtlString &message) -{ - CAtlString tmp; - tmp.Format(_T("MESSAGE[]:[]%s"),const_cast<CAtlString &>(message).GetBuffer()); - - CBackendConnection con; - if(con.ConnectPlayback()) - { - CAtlString response; - con.SendCommand(tmp,response); - ATLASSERT(response=="OK"); - } -} - -HRESULT GetPin(CComPtr<IBaseFilter> pFilter, PIN_DIRECTION PinDir, CComPtr<IPin> &ppPin) -{ - CComPtr<IEnumPins> pEnum; - CComPtr<IPin> pPin; - HRESULT hr; - - hr=pFilter->EnumPins(&pEnum); - if(FAILED(hr)) - { - return hr; - } - while(pEnum->Next(1,&pPin,0)==S_OK) - { - PIN_DIRECTION PinDirThis; - hr=pPin->QueryDirection(&PinDirThis); - if(FAILED(hr)) - { - return hr; - } - if(PinDir==PinDirThis) - { - // Found a match. Return the IPin pointer to the caller. - ppPin=pPin; - return S_OK; - } - // Release the pin for the next time through the loop. - pPin.Release(); - } - return E_FAIL; -} Deleted: trunk/MythTVReader/MythSource/util.h =================================================================== --- trunk/MythTVReader/MythSource/util.h 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythSource/util.h 2007-07-08 11:04:10 UTC (rev 535) @@ -1,60 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file util.h - */ -#include "Socket.h" -#pragma once -#define MYTH_PROTO_VERSION 31 - -template<typename T> -void SplitString(const CAtlString str,T &list,CAtlString token="[]:[]") -{ - CAtlString tmp=str; - list.RemoveAll(); - int pos=0; - while(pos!=-1) - { - pos=tmp.Find(token); - if(pos!=-1) - { - list.Add(tmp.Mid(0,pos)); - tmp=tmp.Mid(pos+token.GetLength()); - } - } - //the last string - if(tmp.GetLength()>0) - { - list.Add(tmp); - } -} - -bool SendCommand(CSocket &sock,CAtlString &cmd); -bool SendCommand(CSocket &sock,CAtlString &cmd,CAtlString &Response); -bool GetResponse(CSocket &sock,CAtlString &Response,bool bUseTimeout=false); -CAtlString GetHostName(); -LONGLONG DecodeLongLong(CAtlString &l1,CAtlString &l2); -LONGLONG DecodeLongLong(long l1,long l2); -bool CheckProtoVersion(CSocket &sock); -bool GetErrorMessage(DWORD errorcode,CAtlString &msg); -void RemoteSendMessage(const CAtlString &message); - -HRESULT GetPin(CComPtr<IBaseFilter> pFilter, PIN_DIRECTION PinDir, CComPtr<IPin> &ppPin); \ No newline at end of file Modified: trunk/MythTVReader/MythTVReader.sln =================================================================== --- trunk/MythTVReader/MythTVReader.sln 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/MythTVReader.sln 2007-07-08 11:04:10 UTC (rev 535) @@ -2,8 +2,8 @@ # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DSMyth", "DSMyth\DSMyth.vcproj", "{F6B27C5D-7691-4815-81A0-0C224E72398B}" ProjectSection(ProjectDependencies) = postProject + {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} {5F161F3E-2B8B-4C77-8572-41007C10A02A} = {5F161F3E-2B8B-4C77-8572-41007C10A02A} - {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rtjpg", "rtjpg\rtjpg.vcproj", "{D5CC2DA7-33FD-4ACD-B0ED-E32418612331}" @@ -15,9 +15,9 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MythSource", "MythSource\MythSource.vcproj", "{5F161F3E-2B8B-4C77-8572-41007C10A02A}" ProjectSection(ProjectDependencies) = postProject + {E255F9F0-9185-4D5A-9497-A23259CE1769} = {E255F9F0-9185-4D5A-9497-A23259CE1769} + {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} = {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} - {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} - {E255F9F0-9185-4D5A-9497-A23259CE1769} = {E255F9F0-9185-4D5A-9497-A23259CE1769} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Config", "Config\Config.vcproj", "{4F964E4A-B778-4173-94A6-EAC25FD43885}" @@ -39,6 +39,16 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdvbpsi", "libs\libdvbpsi\vc++\libdvbpsi.vcproj", "{4E805F8C-4927-43D8-B6E4-C8F82AF670C3}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandler", "PropertyHandler\PropertyHandler.vcproj", "{B71EB910-12E4-4C96-B0C2-5284188F2C9D}" + ProjectSection(ProjectDependencies) = postProject + {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandlerPS", "PropertyHandler\PropertyHandlerPS.vcproj", "{F65AED6A-743C-4E23-A6B3-C17F4A19196B}" + ProjectSection(ProjectDependencies) = postProject + {B71EB910-12E4-4C96-B0C2-5284188F2C9D} = {B71EB910-12E4-4C96-B0C2-5284188F2C9D} + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -81,6 +91,12 @@ {4E805F8C-4927-43D8-B6E4-C8F82AF670C3}.Debug|Win32.Build.0 = Debug|Win32 {4E805F8C-4927-43D8-B6E4-C8F82AF670C3}.Release|Win32.ActiveCfg = Release|Win32 {4E805F8C-4927-43D8-B6E4-C8F82AF670C3}.Release|Win32.Build.0 = Release|Win32 + {B71EB910-12E4-4C96-B0C2-5284188F2C9D}.Debug|Win32.ActiveCfg = Debug|Win32 + {B71EB910-12E4-4C96-B0C2-5284188F2C9D}.Debug|Win32.Build.0 = Debug|Win32 + {B71EB910-12E4-4C96-B0C2-5284188F2C9D}.Release|Win32.ActiveCfg = Release|Win32 + {B71EB910-12E4-4C96-B0C2-5284188F2C9D}.Release|Win32.Build.0 = Release|Win32 + {F65AED6A-743C-4E23-A6B3-C17F4A19196B}.Debug|Win32.ActiveCfg = Debug|Win32 + {F65AED6A-743C-4E23-A6B3-C17F4A19196B}.Release|Win32.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/MythTVReader/NuvConv/Convert.cpp =================================================================== --- trunk/MythTVReader/NuvConv/Convert.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/NuvConv/Convert.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -245,7 +245,7 @@ void CConvert::SetupAviMetadata() { - if(m_fileinfo.m_bDBInfoLoaded) + if(m_fileinfo.m_bProgramInfoLoaded) { CComPtr<IPersistMediaPropertyBag> pPersist; CComPtr<IMediaPropertyBag> pBag; @@ -257,11 +257,11 @@ CComVariant val; CComBSTR str; - str=m_fileinfo.m_DBTitle; - if(m_fileinfo.m_DBSubTitle.GetLength()>0) + str=m_fileinfo.m_ProgramInfo.m_title; + if(m_fileinfo.m_ProgramInfo.m_subtitle.GetLength()>0) { str+=": "; - str+=m_fileinfo.m_DBSubTitle; + str+=CT2W(m_fileinfo.m_ProgramInfo.m_subtitle); } val=str; hr=pBag->Write(OLESTR("INFO/INAM"),&val); Modified: trunk/MythTVReader/NuvConv/NuvConv.cpp =================================================================== --- trunk/MythTVReader/NuvConv/NuvConv.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/NuvConv/NuvConv.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -77,6 +77,9 @@ return FALSE; } + //use system default locale + setlocale(LC_ALL,""); + CStringW src; CStringW dst; char lastcmd=0; Modified: trunk/MythTVReader/NuvConv/ProgressDlg.cpp =================================================================== --- trunk/MythTVReader/NuvConv/ProgressDlg.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/NuvConv/ProgressDlg.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -65,16 +65,16 @@ CString msg; msg=_T("Converting '"); - if(m_cnv.m_fileinfo.m_bDBInfoLoaded) + if(m_cnv.m_fileinfo.m_bProgramInfoLoaded) { - msg+=m_cnv.m_fileinfo.m_DBTitle; - if(m_cnv.m_fileinfo.m_DBSubTitle.GetLength()>0) + msg+=m_cnv.m_fileinfo.m_ProgramInfo.m_title; + if(m_cnv.m_fileinfo.m_ProgramInfo.m_subtitle.GetLength()>0) { msg+=_T(": "); - msg+=CW2T(m_cnv.m_fileinfo.m_DBSubTitle); + msg+=m_cnv.m_fileinfo.m_ProgramInfo.m_subtitle; } msg+=_T("'\nRecorded at: "); - msg+=m_cnv.m_fileinfo.m_DBStart; + msg+=m_cnv.m_fileinfo.m_ProgramInfo.m_recstartts.Format(_T("%c")); } else { Modified: trunk/MythTVReader/NuvPropPage/NuvColHandler.cpp =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvColHandler.cpp 2007-07-02 17:02:38 UTC (rev 534) +++ trunk/MythTVReader/NuvPropPage/NuvColHandler.cpp 2007-07-08 11:04:10 UTC (rev 535) @@ -168,18 +168,18 @@ CNuvInfo::CFileInfo info; m_FileInfo.GetInfo(CAtlString(pscd->wszFile),info,pscd->dwFlags&SHCDF_UPDATEITEM); - if(!info.m_bDBInfoLoaded && !info.m_bFileInfoLoaded) + if(!info.m_bProgramInfoLoaded && !info.m_bFileInfoLoaded) { return S_FALSE; } - if(info.m_bDBInfoLoaded) + if(info.m_bProgramInfoLoaded) { if(pscid->fmtid==FMTID_SummaryInformation) { if(pscid->pid==PIDSI_TITLE) { CComVariant var; - var=CComBSTR(info.m_DBTitle); + var=CComBSTR(info.m_ProgramInfo.m_title); var.Detach(pvarData); return S_OK; } @@ -189,7 +189,7 @@ if(pscid->pid==PIDDSI_CATEGORY) { CComVariant var; - var=CComBSTR(info.m_DBCategory); + var=CComBSTR(info.m_ProgramInfo.m_category); var.Detach(pvarData); return S_OK; } @@ -199,28 +199,28 @@ if(pscid->pid==PIDMT_CHANNEL) { CComVariant var; - var=CComBSTR(info.m_DBChannelName); + var=CComBSTR(info.m_ProgramInfo.m_channame); var.Detach(pvarData); return S_OK; } else if(pscid->pid==PIDMT_SUBTITLE) { CComVariant var; - var=CComBSTR(info.m_DBSubTitle); + var=CComBSTR(info.m_ProgramInfo.m_subtitle); var.Detach(pvarData); return S_OK; } else if(pscid->pid==PIDMT_DESCRIPTION) { CComVariant var; - var=CComBSTR(info.m_DBDescription); + var=CComBSTR(info.m_ProgramInfo.m_description); var.Detach(pvarData); return S_OK; } else if(pscid->pid==PIDMT_RECGROUP) { CComVariant var; - var=CComBSTR(info.m_DBRecGroup); + var=CComBSTR(info.m_ProgramInfo.m_recgroup); var.Detach(pvarData); return S_OK; } Modified: ... [truncated message content] |
From: <to...@us...> - 2007-07-08 11:21:02
|
Revision: 538 http://svn.sourceforge.net/dsmyth/?rev=538&view=rev Author: tobbej Date: 2007-07-08 04:20:58 -0700 (Sun, 08 Jul 2007) Log Message: ----------- Meta data property handler for vista Added Paths: ----------- trunk/MythTVReader/PropertyHandler/ trunk/MythTVReader/PropertyHandler/MythTVProperties.cpp trunk/MythTVReader/PropertyHandler/MythTVProperties.h trunk/MythTVReader/PropertyHandler/MythTVProperties.rgs trunk/MythTVReader/PropertyHandler/PropertyHandler.cpp trunk/MythTVReader/PropertyHandler/PropertyHandler.def trunk/MythTVReader/PropertyHandler/PropertyHandler.idl trunk/MythTVReader/PropertyHandler/PropertyHandler.rc trunk/MythTVReader/PropertyHandler/PropertyHandler.rgs trunk/MythTVReader/PropertyHandler/PropertyHandler.vcproj trunk/MythTVReader/PropertyHandler/PropertyHandlerPS.vcproj trunk/MythTVReader/PropertyHandler/PropertyHandlerps.def trunk/MythTVReader/PropertyHandler/resource.h trunk/MythTVReader/PropertyHandler/stdafx.cpp trunk/MythTVReader/PropertyHandler/stdafx.h Property changes on: trunk/MythTVReader/PropertyHandler ___________________________________________________________________ Name: svn:ignore + Debug Release *.aps PropertyHandler_i.c PropertyHandler_p.c PropertyHandler.h dlldata.c *.user Added: trunk/MythTVReader/PropertyHandler/MythTVProperties.cpp =================================================================== --- trunk/MythTVReader/PropertyHandler/MythTVProperties.cpp (rev 0) +++ trunk/MythTVReader/PropertyHandler/MythTVProperties.cpp 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,252 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2007 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file MythTVProperties.cpp Implementation of CMythTVProperties + */ + +#include "stdafx.h" +#include "MythTVProperties.h" +#include "utils.h" +#include <propvarutil.h> + + +// CMythTVProperties +CMythTVProperties::CMythTVProperties() +{ +} + +CMythTVProperties::~CMythTVProperties() +{ +} + +HRESULT CMythTVProperties::FinalConstruct() +{ + return S_OK; +} + +void CMythTVProperties::FinalRelease() +{ +} + +//IPropertyStore +HRESULT CMythTVProperties::GetCount(DWORD *pcProps) +{ + HRESULT hr=E_UNEXPECTED; + if(m_pStoreCache) + { + hr=m_pStoreCache->GetCount(pcProps); + } + return hr; +} + +HRESULT CMythTVProperties::GetAt(DWORD iProp,PROPERTYKEY *pkey) +{ + HRESULT hr=E_UNEXPECTED; + if(m_pStoreCache) + { + hr=m_pStoreCache->GetAt(iProp, pkey); + } + return hr; +} + +HRESULT CMythTVProperties::GetValue(REFPROPERTYKEY key,PROPVARIANT *pPropVar) +{ + HRESULT hr=E_UNEXPECTED; + if(m_pStoreCache) + { + hr=m_pStoreCache->GetValue(key,pPropVar); + } + return hr; +} + +HRESULT CMythTVProperties::SetValue(REFPROPERTYKEY key,REFPROPVARIANT propvar) +{ + return E_UNEXPECTED; +} + +HRESULT CMythTVProperties::Commit(void) +{ + return STG_E_ACCESSDENIED; +} + +//IPropertyStoreCapabilities +HRESULT CMythTVProperties::IsPropertyWritable(REFPROPERTYKEY key) +{ + return S_FALSE; +} + +//IInitializeWithStream +HRESULT CMythTVProperties::Initialize(IStream *pStream,DWORD grfMode) +{ + if(m_pStream!=NULL) + { + return HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED); + } + if(pStream==NULL) + { + return E_POINTER; + } + + //can't write to the file + if(grfMode & STGM_READWRITE) + { + return STG_E_ACCESSDENIED; + } + m_pStream=pStream; + m_grfMode=grfMode; + + HRESULT hr=PSCreateMemoryPropertyStore(IID_PPV_ARGS(&m_pStoreCache)); + if(SUCCEEDED(hr)) + { + StoreDataInCache(PKEY_Kind,KIND_RECORDEDTV); + StoreDataInCache(PKEY_KindText,L"MythTV recording"); + + CNuvInfo::CFileInfo info; + CNuvInfo FileInfo; + FileInfo.GetInfo(m_pStream,info); + if(info.m_bProgramInfoLoaded) + { + StoreDataInCache(PKEY_Title,info.m_ProgramInfo.m_title); + StoreDataInCache(PKEY_Media_SubTitle,info.m_ProgramInfo.m_subtitle); + StoreDataInCache(PKEY_RecordedTV_ProgramDescription,info.m_ProgramInfo.m_description); + //StoreDataInCache(PKEY_RecordedTV_ChannelNumber,info.m_ProgramInfo.m_chanstr); + StoreDataInCache(PKEY_RecordedTV_StationCallSign,info.m_ProgramInfo.m_chansign); + StoreDataInCache(PKEY_RecordedTV_StationName,info.m_ProgramInfo.m_channame); + + CTimeSpan tmp=info.m_ProgramInfo.m_recendts-info.m_ProgramInfo.m_recstartts; + ULONGLONG length=tmp.GetTotalSeconds()*10000000; + StoreDataInCache(PKEY_Media_Duration,length); + + SYSTEMTIME st; + SYSTEMTIME ut; + FILETIME ft; + info.m_ProgramInfo.m_recstartts.GetAsSystemTime(st); + //boring timezone stuff + //SYSTEMTIME must be in UTC so we have to convert our timestamp from + //localtime to UTC + TIME_ZONE_INFORMATION tz; + if(GetTimeZoneInformation(&tz)!=TIME_ZONE_ID_INVALID) + { + TzSpecificLocalTimeToSystemTime(&tz,&st,&ut); + if(SystemTimeToFileTime(&ut,&ft)) + { + StoreDataInCache(PKEY_RecordedTV_RecordingTime,ft); + } + } + StoreDataInCacheStringVector(PKEY_Keywords,info.m_ProgramInfo.m_category); + + CAtlStringW contents; + contents=info.m_ProgramInfo.m_title; + contents+=L" "; + contents+=info.m_ProgramInfo.m_subtitle; + contents+=L" "; + contents+=info.m_ProgramInfo.m_channame; + contents+=L" "; + contents+=info.m_ProgramInfo.m_chansign; + contents+=L" "; + contents+=info.m_ProgramInfo.m_description; + StoreDataInCache(PKEY_Search_Contents,contents); + } + if(info.m_bFileInfoLoaded) + { + StoreDataInCache(PKEY_Video_FrameHeight,(ULONG)info.m_rtFileHeader.height); + StoreDataInCache(PKEY_Video_FrameWidth,(ULONG)info.m_rtFileHeader.width); + StoreDataInCache(PKEY_Video_FrameRate,(ULONG)info.m_rtFileHeader.fps*1000); + + CAtlStringW VideoFourCC; + char tmp[5]; + tmp[4]=0; + memcpy_s(tmp,4,&info.m_ExtendedData.video_fourcc,4); + VideoFourCC=CA2W(tmp); + StoreDataInCache(PKEY_Video_FourCC,VideoFourCC); + + if(info.m_bUsingExtendedData) + { + double rate=info.m_ExtendedData.audio_bits_per_sample*info.m_ExtendedData.audio_channels*info.m_ExtendedData.audio_sample_rate/(1000*info.m_ExtendedData.audio_compression_ratio); + int bitrate=FindNearestMP3Bitrate(rate); + StoreDataInCache(PKEY_Audio_EncodingBitrate,(ULONG)bitrate*1000); + StoreDataInCache(PKEY_Audio_ChannelCount,(ULONG)info.m_ExtendedData.audio_channels); + StoreDataInCache(PKEY_Audio_SampleRate,(ULONG)info.m_ExtendedData.audio_sample_rate); + } + } + } + return hr; +} + +void CMythTVProperties::StoreDataInCache(PROPERTYKEY key,CAtlStringW data) +{ + PROPVARIANT pv; + PropVariantInit(&pv); + HRESULT hr=InitPropVariantFromString(data,&pv); + if(SUCCEEDED(hr)) + { + hr=m_pStoreCache->SetValueAndState(key,&pv,PSC_NORMAL); + } + PropVariantClear(&pv); +} + +void CMythTVProperties::StoreDataInCache(PROPERTYKEY key,ULONG data) +{ + PROPVARIANT pv; + PropVariantInit(&pv); + HRESULT hr=InitPropVariantFromUInt32(data,&pv); + if(SUCCEEDED(hr)) + { + hr=m_pStoreCache->SetValueAndState(key,&pv,PSC_NORMAL); + } + PropVariantClear(&pv); +} + +void CMythTVProperties::StoreDataInCache(PROPERTYKEY key,ULONGLONG data) +{ + PROPVARIANT pv; + PropVariantInit(&pv); + HRESULT hr=InitPropVariantFromUInt64(data,&pv); + if(SUCCEEDED(hr)) + { + hr=m_pStoreCache->SetValueAndState(key,&pv,PSC_NORMAL); + } + PropVariantClear(&pv); +} + +void CMythTVProperties::StoreDataInCache(PROPERTYKEY key,FILETIME &data) +{ + PROPVARIANT pv; + PropVariantInit(&pv); + HRESULT hr=InitPropVariantFromFileTime(&data,&pv); + if(SUCCEEDED(hr)) + { + hr=m_pStoreCache->SetValueAndState(key,&pv,PSC_NORMAL); + } + PropVariantClear(&pv); +} + +void CMythTVProperties::StoreDataInCacheStringVector(PROPERTYKEY key,CAtlStringW &data) +{ + PROPVARIANT pv; + PropVariantInit(&pv); + HRESULT hr=InitPropVariantFromStringAsVector(data,&pv); + if(SUCCEEDED(hr)) + { + hr=m_pStoreCache->SetValueAndState(key,&pv,PSC_NORMAL); + } + PropVariantClear(&pv); +} \ No newline at end of file Added: trunk/MythTVReader/PropertyHandler/MythTVProperties.h =================================================================== --- trunk/MythTVReader/PropertyHandler/MythTVProperties.h (rev 0) +++ trunk/MythTVReader/PropertyHandler/MythTVProperties.h 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,92 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2007 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file MythTVProperties.h Declaration of the CMythTVProperties + */ + +#pragma once +#include "resource.h" // main symbols + +#include "PropertyHandler.h" +#include "nuvinfo.h" + +#if defined(_WIN32_WCE) && !defined(_CE_DCOM) && !defined(_CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA) +#error "Single-threaded COM objects are not properly supported on Windows CE platform, such as the Windows Mobile platforms that do not include full DCOM support. Define _CE_ALLOW_SINGLE_THREADED_OBJECTS_IN_MTA to force ATL to support creating single-thread COM object's and allow use of it's single-threaded COM object implementations. The threading model in your rgs file was set to 'Free' as that is the only threading model supported in non DCOM Windows CE platforms." +#endif + + + +// CMythTVProperties + +class ATL_NO_VTABLE CMythTVProperties : + public CComObjectRootEx<CComSingleThreadModel>, + public CComCoClass<CMythTVProperties, &CLSID_MythTVProperties>, + public IPropertyStore, + public IPropertyStoreCapabilities, + public IInitializeWithStream + +{ +public: + CMythTVProperties(); + ~CMythTVProperties(); + +DECLARE_REGISTRY_RESOURCEID(IDR_MYTHTVPROPERTIES) + +DECLARE_NOT_AGGREGATABLE(CMythTVProperties) + +BEGIN_COM_MAP(CMythTVProperties) + COM_INTERFACE_ENTRY(IPropertyStore) + COM_INTERFACE_ENTRY(IPropertyStoreCapabilities) + COM_INTERFACE_ENTRY(IInitializeWithStream) +END_COM_MAP() + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct(); + void FinalRelease(); + + //IPropertyStore + STDMETHOD(GetCount)(DWORD *cProps); + STDMETHOD(GetAt)(DWORD iProp,PROPERTYKEY *pkey); + STDMETHOD(GetValue)(REFPROPERTYKEY key,PROPVARIANT *pv); + STDMETHOD(SetValue)(REFPROPERTYKEY key,REFPROPVARIANT propvar); + STDMETHOD(Commit)(void); + + //IPropertyStoreCapabilities + STDMETHOD(IsPropertyWritable)(REFPROPERTYKEY key); + + //IInitializeWithStream + STDMETHOD(Initialize)(IStream *pStream,DWORD grfMode); + +private: + DWORD m_grfMode; + CComPtr<IPropertyStoreCache> m_pStoreCache; + void StoreDataInCache(PROPERTYKEY key,CAtlStringW data); + void StoreDataInCache(PROPERTYKEY key,ULONG data); + void StoreDataInCache(PROPERTYKEY key,ULONGLONG data); + void StoreDataInCache(PROPERTYKEY key,FILETIME &data); + void StoreDataInCacheStringVector(PROPERTYKEY key,CAtlStringW &data); + + CComPtr<IStream> m_pStream; + CAtlStringW m_FileName; +}; + +OBJECT_ENTRY_AUTO(__uuidof(MythTVProperties), CMythTVProperties) Added: trunk/MythTVReader/PropertyHandler/MythTVProperties.rgs =================================================================== --- trunk/MythTVReader/PropertyHandler/MythTVProperties.rgs (rev 0) +++ trunk/MythTVReader/PropertyHandler/MythTVProperties.rgs 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,56 @@ +HKCR +{ + PropertyHandler.MythTVProperties.1 = s 'MythTVProperties Class' + { + CLSID = s '{A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5}' + } + PropertyHandler.MythTVProperties = s 'MythTVProperties Class' + { + CLSID = s '{A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5}' + CurVer = s 'PropertyHandler.MythTVProperties.1' + } + NoRemove CLSID + { + ForceRemove {A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5} = s 'MythTVProperties Class' + { + ProgID = s 'PropertyHandler.MythTVProperties.1' + VersionIndependentProgID = s 'PropertyHandler.MythTVProperties' + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + val AppID = s '%APPID%' + 'TypeLib' = s '{246EE176-B2A5-4D92-A8A1-4CD33AF40F0C}' + } + } +} +HKLM +{ + NoRemove SOFTWARE + { + NoRemove Microsoft + { + NoRemove Windows + { + NoRemove CurrentVersion + { + NoRemove PropertySystem + { + NoRemove PropertyHandlers + { + '.nuv' = s '{A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5}' + '.mpg' = s '{A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5}' + } + } + NoRemove 'Shell Extensions' + { + NoRemove Approved + { + val '{A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5}' = s 'MythTV Property Handler' + } + } + } + } + } + } +} \ No newline at end of file Added: trunk/MythTVReader/PropertyHandler/PropertyHandler.cpp =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandler.cpp (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandler.cpp 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,88 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2007 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file PropertyHandler.cpp Implementation of DLL Exports. + */ + + +#include "stdafx.h" +#include "resource.h" +#include "PropertyHandler.h" + + +class CPropertyHandlerModule : public CAtlDllModuleT< CPropertyHandlerModule > +{ +public : + DECLARE_LIBID(LIBID_PropertyHandlerLib) + DECLARE_REGISTRY_APPID_RESOURCEID(IDR_PROPERTYHANDLER, "{337ADD67-A856-44E4-84D8-318E51A63B98}") +}; + +CPropertyHandlerModule _AtlModule; + + +#ifdef _MANAGED +#pragma managed(push, off) +#endif + +// DLL Entry Point +extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) +{ + hInstance; + return _AtlModule.DllMain(dwReason, lpReserved); +} + +#ifdef _MANAGED +#pragma managed(pop) +#endif + + + + +// Used to determine whether the DLL can be unloaded by OLE +STDAPI DllCanUnloadNow(void) +{ + return _AtlModule.DllCanUnloadNow(); +} + + +// Returns a class factory to create an object of the requested type +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) +{ + return _AtlModule.DllGetClassObject(rclsid, riid, ppv); +} + + +// DllRegisterServer - Adds entries to the system registry +STDAPI DllRegisterServer(void) +{ + // registers object, typelib and all interfaces in typelib + HRESULT hr = _AtlModule.DllRegisterServer(); + return hr; +} + + +// DllUnregisterServer - Removes entries from the system registry +STDAPI DllUnregisterServer(void) +{ + HRESULT hr = _AtlModule.DllUnregisterServer(); + return hr; +} + Added: trunk/MythTVReader/PropertyHandler/PropertyHandler.def =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandler.def (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandler.def 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,9 @@ +; PropertyHandler.def : Declares the module parameters. + +LIBRARY "PropertyHandler.DLL" + +EXPORTS + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE Added: trunk/MythTVReader/PropertyHandler/PropertyHandler.idl =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandler.idl (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandler.idl 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,26 @@ +// PropertyHandler.idl : IDL source for PropertyHandler +// + +// This file will be processed by the MIDL tool to +// produce the type library (PropertyHandler.tlb) and marshalling code. + +import "oaidl.idl"; +import "ocidl.idl"; + +[ + uuid(246EE176-B2A5-4D92-A8A1-4CD33AF40F0C), + version(1.0), + helpstring("PropertyHandler 1.0 Type Library") +] +library PropertyHandlerLib +{ + importlib("stdole2.tlb"); + [ + uuid(A7028F2A-8816-44DC-9F13-BF6A5D2C2BA5), + helpstring("MythTVProperties Class") + ] + coclass MythTVProperties + { + [default] interface IUnknown; + }; +}; Added: trunk/MythTVReader/PropertyHandler/PropertyHandler.rc =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandler.rc (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandler.rc 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,130 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (Neutral) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,11,0,0 + PRODUCTVERSION 0,11,0,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "FileVersion", "0, 11, 0, 0" + VALUE "InternalName", "PropertyHandler.dll" + VALUE "LegalCopyright", "Copyright 2007 Torbj\xF6rn Jansson" + VALUE "OriginalFilename", "PropertyHandler.dll" + VALUE "ProductVersion", "0, 11, 0, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// REGISTRY +// + +IDR_PROPERTYHANDLER REGISTRY "PropertyHandler.rgs" +IDR_MYTHTVPROPERTIES REGISTRY "MythTVProperties.rgs" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_PROJNAME "PropertyHandler" +END + +#endif // English (Neutral) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// Swedish resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE) +#ifdef _WIN32 +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "1 TYPELIB ""PropertyHandler.tlb""\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Swedish resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +1 TYPELIB "PropertyHandler.tlb" + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + Added: trunk/MythTVReader/PropertyHandler/PropertyHandler.rgs =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandler.rgs (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandler.rgs 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,11 @@ +HKCR +{ + NoRemove AppID + { + '%APPID%' = s 'PropertyHandler' + 'PropertyHandler.DLL' + { + val AppID = s '%APPID%' + } + } +} Added: trunk/MythTVReader/PropertyHandler/PropertyHandler.vcproj =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandler.vcproj (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandler.vcproj 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,326 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="PropertyHandler" + ProjectGUID="{B71EB910-12E4-4C96-B0C2-5284188F2C9D}" + RootNamespace="PropertyHandler" + Keyword="AtlProj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + UseOfATL="2" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="false" + TargetEnvironment="1" + GenerateStublessProxies="true" + TypeLibraryName="$(IntDir)/PropertyHandler.tlb" + HeaderFileName="PropertyHandler.h" + DLLDataFileName="" + InterfaceIdentifierFileName="PropertyHandler_i.c" + ProxyFileName="PropertyHandler_p.c" + ValidateParameters="false" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\common;"..\libs\mysql++\lib"" + PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="2" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + AdditionalIncludeDirectories="$(IntDir)" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + RegisterOutput="true" + IgnoreImportLibrary="true" + AdditionalDependencies="libmysql.lib propsys.lib ws2_32.lib quartz.lib" + LinkIncremental="2" + ModuleDefinitionFile=".\PropertyHandler.def" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + UseOfATL="2" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="false" + TargetEnvironment="1" + GenerateStublessProxies="true" + TypeLibraryName="$(IntDir)/PropertyHandler.tlb" + HeaderFileName="PropertyHandler.h" + DLLDataFileName="" + InterfaceIdentifierFileName="PropertyHandler_i.c" + ProxyFileName="PropertyHandler_p.c" + ValidateParameters="false" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="..\common;"..\libs\mysql++\lib"" + PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL" + RuntimeLibrary="2" + UsePrecompiledHeader="2" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + AdditionalIncludeDirectories="$(IntDir)" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + RegisterOutput="true" + IgnoreImportLibrary="true" + AdditionalDependencies="libmysql.lib propsys.lib ws2_32.lib quartz.lib" + LinkIncremental="1" + ModuleDefinitionFile=".\PropertyHandler.def" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\MythTVProperties.cpp" + > + </File> + <File + RelativePath=".\PropertyHandler.cpp" + > + </File> + <File + RelativePath=".\PropertyHandler.def" + > + </File> + <File + RelativePath=".\PropertyHandler.idl" + > + </File> + <File + RelativePath=".\stdafx.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\MythTVProperties.h" + > + </File> + <File + RelativePath=".\Resource.h" + > + </File> + <File + RelativePath=".\stdafx.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + <File + RelativePath=".\MythTVProperties.rgs" + > + </File> + <File + RelativePath=".\PropertyHandler.rc" + > + </File> + <File + RelativePath=".\PropertyHandler.rgs" + > + </File> + </Filter> + <Filter + Name="Generated Files" + SourceControlFiles="false" + > + <File + RelativePath=".\PropertyHandler.h" + > + </File> + <File + RelativePath=".\PropertyHandler_i.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + </File> + </Filter> + <File + RelativePath=".\ReadMe.txt" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/MythTVReader/PropertyHandler/PropertyHandlerPS.vcproj =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandlerPS.vcproj (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandlerPS.vcproj 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,190 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="PropertyHandlerPS" + ProjectGUID="{F65AED6A-743C-4E23-A6B3-C17F4A19196B}" + Keyword="AtlPSProj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(ConfigurationName)PS" + IntermediateDirectory="$(ConfigurationName)PS" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + Description="Checking for required files" + CommandLine="if exist dlldata.c goto :END
echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
Exit 1
:END
" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;_DEBUG" + RuntimeLibrary="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + RegisterOutput="true" + AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib" + ModuleDefinitionFile="PropertyHandlerPS.def" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(ConfigurationName)PS" + IntermediateDirectory="$(ConfigurationName)PS" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + Description="Checking for required files" + CommandLine="if exist dlldata.c goto :END
echo Error: MIDL will not generate DLLDATA.C unless you have at least 1 interface in the main project.
Exit 1
:END
" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + PreprocessorDefinitions="WIN32;_WIN32_WINNT=0x0500;REGISTER_PROXY_DLL;NDEBUG" + RuntimeLibrary="2" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + RegisterOutput="true" + AdditionalDependencies="kernel32.lib rpcndr.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib" + ModuleDefinitionFile="PropertyHandlerPS.def" + OptimizeReferences="2" + EnableCOMDATFolding="2" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + > + </Filter> + <Filter + Name="Generated Files" + SourceControlFiles="false" + > + <File + RelativePath=".\dlldata.c" + > + </File> + <File + RelativePath=".\PropertyHandler_i.c" + > + </File> + <File + RelativePath=".\PropertyHandler_p.c" + > + </File> + </Filter> + <File + RelativePath=".\PropertyHandlerps.def" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/MythTVReader/PropertyHandler/PropertyHandlerps.def =================================================================== --- trunk/MythTVReader/PropertyHandler/PropertyHandlerps.def (rev 0) +++ trunk/MythTVReader/PropertyHandler/PropertyHandlerps.def 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,9 @@ + +LIBRARY "PropertyHandlerPS" + +EXPORTS + DllGetClassObject PRIVATE + DllCanUnloadNow PRIVATE + GetProxyDllInfo PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE Added: trunk/MythTVReader/PropertyHandler/resource.h =================================================================== --- trunk/MythTVReader/PropertyHandler/resource.h (rev 0) +++ trunk/MythTVReader/PropertyHandler/resource.h 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,18 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by PropertyHandler.rc +// +#define IDS_PROJNAME 100 +#define IDR_PROPERTYHANDLER 101 +#define IDR_MYTHTVPROPERTIES 102 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 201 +#define _APS_NEXT_COMMAND_VALUE 32768 +#define _APS_NEXT_CONTROL_VALUE 201 +#define _APS_NEXT_SYMED_VALUE 103 +#endif +#endif Added: trunk/MythTVReader/PropertyHandler/stdafx.cpp =================================================================== --- trunk/MythTVReader/PropertyHandler/stdafx.cpp (rev 0) +++ trunk/MythTVReader/PropertyHandler/stdafx.cpp 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,5 @@ +// stdafx.cpp : source file that includes just the standard includes +// PropertyHandler.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" Added: trunk/MythTVReader/PropertyHandler/stdafx.h =================================================================== --- trunk/MythTVReader/PropertyHandler/stdafx.h (rev 0) +++ trunk/MythTVReader/PropertyHandler/stdafx.h 2007-07-08 11:20:58 UTC (rev 538) @@ -0,0 +1,44 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, +// but are changed infrequently + +#pragma once + +#ifndef STRICT +#define STRICT +#endif + +// Modify the following defines if you have to target a platform prior to the ones specified below. +// Refer to MSDN for the latest info on corresponding values for different platforms. +#ifndef WINVER // Allow use of features specific to Windows XP or later. +#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows. +#endif + +#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. +#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. +#endif + +#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later. +#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. +#endif + +#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later. +#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE. +#endif + +#define _ATL_APARTMENT_THREADED +#define _ATL_NO_AUTOMATIC_NAMESPACE + +#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit + + +#include "resource.h" +#include <atlbase.h> +#include <atlcom.h> +#include <atlstr.h> +#include <shobjidl.h> // IInitializeWithStream, IDestinationStreamFactory +#include <propsys.h> // Property System APIs and interfaces +#include <propkey.h> // System PROPERTYKEY definitions +#include <atltime.h> + +using namespace ATL; \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <to...@us...> - 2007-07-08 12:57:38
|
Revision: 539 http://svn.sourceforge.net/dsmyth/?rev=539&view=rev Author: tobbej Date: 2007-07-08 05:57:36 -0700 (Sun, 08 Jul 2007) Log Message: ----------- Update mysql++ to 2.3.0 Modified Paths: -------------- trunk/MythTVReader/InnoSetup/libmySQL.dll trunk/MythTVReader/libs/mysql++/CREDITS trunk/MythTVReader/libs/mysql++/ChangeLog trunk/MythTVReader/libs/mysql++/HACKERS trunk/MythTVReader/libs/mysql++/Makefile.in trunk/MythTVReader/libs/mysql++/README trunk/MythTVReader/libs/mysql++/README.cygwin trunk/MythTVReader/libs/mysql++/README.mingw trunk/MythTVReader/libs/mysql++/README.unix trunk/MythTVReader/libs/mysql++/README.vc trunk/MythTVReader/libs/mysql++/Wishlist trunk/MythTVReader/libs/mysql++/bootstrap trunk/MythTVReader/libs/mysql++/config/libm.m4 trunk/MythTVReader/libs/mysql++/config/mysql_loc.m4 trunk/MythTVReader/libs/mysql++/config/socket_nsl.m4 trunk/MythTVReader/libs/mysql++/config.guess trunk/MythTVReader/libs/mysql++/config.h.in trunk/MythTVReader/libs/mysql++/config.sub trunk/MythTVReader/libs/mysql++/configure trunk/MythTVReader/libs/mysql++/configure.ac trunk/MythTVReader/libs/mysql++/doc/ssqls-pretty trunk/MythTVReader/libs/mysql++/doc/userman/Makefile trunk/MythTVReader/libs/mysql++/doc/userman/README trunk/MythTVReader/libs/mysql++/doc/userman/html.xsl trunk/MythTVReader/libs/mysql++/doc/userman/mktxt trunk/MythTVReader/libs/mysql++/examples/custom1.cpp trunk/MythTVReader/libs/mysql++/examples/custom2.cpp trunk/MythTVReader/libs/mysql++/examples/custom3.cpp trunk/MythTVReader/libs/mysql++/examples/custom4.cpp trunk/MythTVReader/libs/mysql++/examples/custom5.cpp trunk/MythTVReader/libs/mysql++/examples/resetdb.cpp trunk/MythTVReader/libs/mysql++/examples/simple1.cpp trunk/MythTVReader/libs/mysql++/examples/simple2.cpp trunk/MythTVReader/libs/mysql++/examples/usequery.cpp trunk/MythTVReader/libs/mysql++/examples/util.cpp trunk/MythTVReader/libs/mysql++/examples/util.h trunk/MythTVReader/libs/mysql++/install-sh trunk/MythTVReader/libs/mysql++/install.bat trunk/MythTVReader/libs/mysql++/lib/Doxyfile.in trunk/MythTVReader/libs/mysql++/lib/coldata.h trunk/MythTVReader/libs/mysql++/lib/connection.cpp trunk/MythTVReader/libs/mysql++/lib/connection.h trunk/MythTVReader/libs/mysql++/lib/const_string.h trunk/MythTVReader/libs/mysql++/lib/convert.h trunk/MythTVReader/libs/mysql++/lib/custom-macros.h trunk/MythTVReader/libs/mysql++/lib/custom.h trunk/MythTVReader/libs/mysql++/lib/custom.pl trunk/MythTVReader/libs/mysql++/lib/datetime.cpp trunk/MythTVReader/libs/mysql++/lib/datetime.h trunk/MythTVReader/libs/mysql++/lib/exceptions.h trunk/MythTVReader/libs/mysql++/lib/field_names.cpp trunk/MythTVReader/libs/mysql++/lib/field_names.h trunk/MythTVReader/libs/mysql++/lib/field_types.cpp trunk/MythTVReader/libs/mysql++/lib/field_types.h trunk/MythTVReader/libs/mysql++/lib/fields.h trunk/MythTVReader/libs/mysql++/lib/lockable.h trunk/MythTVReader/libs/mysql++/lib/manip.cpp trunk/MythTVReader/libs/mysql++/lib/manip.h trunk/MythTVReader/libs/mysql++/lib/myset.h trunk/MythTVReader/libs/mysql++/lib/mysql++.h trunk/MythTVReader/libs/mysql++/lib/mysql++.h.in trunk/MythTVReader/libs/mysql++/lib/noexceptions.h trunk/MythTVReader/libs/mysql++/lib/null.h trunk/MythTVReader/libs/mysql++/lib/qparms.h trunk/MythTVReader/libs/mysql++/lib/query.cpp trunk/MythTVReader/libs/mysql++/lib/query.h trunk/MythTVReader/libs/mysql++/lib/resiter.h trunk/MythTVReader/libs/mysql++/lib/result.cpp trunk/MythTVReader/libs/mysql++/lib/result.h trunk/MythTVReader/libs/mysql++/lib/row.cpp trunk/MythTVReader/libs/mysql++/lib/row.h trunk/MythTVReader/libs/mysql++/lib/sql_string.cpp trunk/MythTVReader/libs/mysql++/lib/sql_string.h trunk/MythTVReader/libs/mysql++/lib/string_util.cpp trunk/MythTVReader/libs/mysql++/lib/string_util.h trunk/MythTVReader/libs/mysql++/lib/tiny_int.h trunk/MythTVReader/libs/mysql++/lib/type_info.cpp trunk/MythTVReader/libs/mysql++/lib/type_info.h trunk/MythTVReader/libs/mysql++/lib/vallist.cpp trunk/MythTVReader/libs/mysql++/libmysqlclient.def trunk/MythTVReader/libs/mysql++/mysql++.ebuild trunk/MythTVReader/libs/mysql++/mysql++.spec trunk/MythTVReader/libs/mysql++/mysql++.spec.in trunk/MythTVReader/libs/mysql++/reconf Added Paths: ----------- trunk/MythTVReader/libs/mysql++/Bakefiles.bkgen trunk/MythTVReader/libs/mysql++/Makefile.mingw trunk/MythTVReader/libs/mysql++/Makefile.simple trunk/MythTVReader/libs/mysql++/README.examples trunk/MythTVReader/libs/mysql++/cleanmf trunk/MythTVReader/libs/mysql++/config/autoconf_inc.m4 trunk/MythTVReader/libs/mysql++/config/localtime_r.m4 trunk/MythTVReader/libs/mysql++/doc/README.manuals trunk/MythTVReader/libs/mysql++/doc/html/ trunk/MythTVReader/libs/mysql++/doc/html/refman/ trunk/MythTVReader/libs/mysql++/doc/html/refman/_header.html trunk/MythTVReader/libs/mysql++/doc/html/refman/annotated.html trunk/MythTVReader/libs/mysql++/doc/html/refman/autoflag_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/autoflag_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classAutoFlag-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classAutoFlag.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classAutoFlag__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadConversion-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadConversion.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadConversion__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadConversion__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadFieldName-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadFieldName.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadFieldName__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadFieldName__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadNullConversion-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadNullConversion.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadNullConversion__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadNullConversion__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadOption-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadOption.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadOption__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadOption__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadParamCount-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadParamCount.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadParamCount__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadParamCount__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadQuery-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadQuery.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadQuery__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BadQuery__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BasicLock-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BasicLock.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BasicLock__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1BasicLock__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ColData__Tmpl-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ColData__Tmpl.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ColData__Tmpl__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Connection-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Connection.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ConnectionFailed-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ConnectionFailed.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ConnectionFailed__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ConnectionFailed__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Connection__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Connection__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1DBSelectionFailed-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1DBSelectionFailed.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1DBSelectionFailed__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1DBSelectionFailed__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResultSets-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResultSets.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResultSets__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResultSets__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResults-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResults.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResults__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1EndOfResults__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Exception-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Exception.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Exception__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1FieldNames-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1FieldNames.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1FieldTypes-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1FieldTypes.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Fields-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Fields.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Fields__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Fields__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lock-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lock.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1LockFailed-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1LockFailed.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1LockFailed__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1LockFailed__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lock__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lockable-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lockable.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lockable__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Lockable__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1NoExceptions-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1NoExceptions.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1NoExceptions__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Null-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Null.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Null__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ObjectNotInitialized-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ObjectNotInitialized.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ObjectNotInitialized__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ObjectNotInitialized__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1OptionalExceptions-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1OptionalExceptions.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1OptionalExceptions__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Query-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Query.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Query__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Query__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ResNSel-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ResNSel.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ResUse-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ResUse.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ResUse__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1ResUse__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Result-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Result.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Result__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Result__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Row-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Row.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Row__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Row__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1SQLQueryParms-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1SQLQueryParms.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1SQLQueryParms__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1SQLString-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1SQLString.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Set-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Set.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Transaction-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Transaction.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1Transaction__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1const__string-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1const__string.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1const__subscript__container-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1const__subscript__container.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1const__subscript__container__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1mysql__type__info-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1mysql__type__info.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1null__type.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1scoped__var__set-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1scoped__var__set.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1scoped__var__set__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1subscript__iterator-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1subscript__iterator.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1subscript__iterator__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1tiny__int-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/classmysqlpp_1_1tiny__int.html trunk/MythTVReader/libs/mysql++/doc/html/refman/coldata_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/coldata_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/coldata_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/coldata_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/common_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/common_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/common_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/common_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/connection_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/connection_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/connection_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/connection_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/const__string_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/const__string_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/const__string_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/const__string_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/convert_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/convert_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/convert_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/convert_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/datetime_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/datetime_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/datetime_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/datetime_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/doxygen.css trunk/MythTVReader/libs/mysql++/doc/html/refman/doxygen.png trunk/MythTVReader/libs/mysql++/doc/html/refman/exceptions_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/exceptions_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/exceptions_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/exceptions_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/field__names_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/field__names_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/field__names_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/field__names_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/field__types_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/field__types_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/field__types_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/field__types_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/fields_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/fields_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/fields_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/fields_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/files.html trunk/MythTVReader/libs/mysql++/doc/html/refman/functions.html trunk/MythTVReader/libs/mysql++/doc/html/refman/functions_enum.html trunk/MythTVReader/libs/mysql++/doc/html/refman/functions_func.html trunk/MythTVReader/libs/mysql++/doc/html/refman/functions_rela.html trunk/MythTVReader/libs/mysql++/doc/html/refman/functions_type.html trunk/MythTVReader/libs/mysql++/doc/html/refman/functions_vars.html trunk/MythTVReader/libs/mysql++/doc/html/refman/globals.html trunk/MythTVReader/libs/mysql++/doc/html/refman/globals_defs.html trunk/MythTVReader/libs/mysql++/doc/html/refman/graph_legend.html trunk/MythTVReader/libs/mysql++/doc/html/refman/graph_legend.png trunk/MythTVReader/libs/mysql++/doc/html/refman/hierarchy.html trunk/MythTVReader/libs/mysql++/doc/html/refman/index.html trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__0.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__1.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__10.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__11.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__12.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__13.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__14.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__15.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__16.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__17.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__18.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__19.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__2.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__20.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__21.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__22.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__23.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__24.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__25.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__26.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__27.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__28.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__29.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__3.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__30.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__31.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__32.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__33.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__4.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__5.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__6.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__7.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__8.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherit__graph__9.png trunk/MythTVReader/libs/mysql++/doc/html/refman/inherits.html trunk/MythTVReader/libs/mysql++/doc/html/refman/lockable_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/lockable_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/lockable_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/manip_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/manip_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/manip_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/manip_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/myset_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/myset_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/myset_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/myset_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/mysql++_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/mysql++_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/mysql++_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemembers.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemembers_enum.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemembers_eval.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemembers_func.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemembers_type.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemembers_vars.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespacemysqlpp.html trunk/MythTVReader/libs/mysql++/doc/html/refman/namespaces.html trunk/MythTVReader/libs/mysql++/doc/html/refman/noexceptions_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/noexceptions_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/noexceptions_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/null_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/null_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/null_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/null_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/qparms_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/qparms_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/qparms_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/qparms_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/query_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/query_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/query_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/query_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/querydef_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/refman.css trunk/MythTVReader/libs/mysql++/doc/html/refman/resiter_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/resiter_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/resiter_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/resiter_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/result_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/result_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/result_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/result_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/row_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/row_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/row_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/row_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__string_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__string_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__string_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__string_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__types_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__types_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__types_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/sql__types_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/stream2string_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/stream2string_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/stream2string_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/stream2string_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/string__util_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/string__util_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/string__util_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/string__util_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DTbase-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DTbase.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DTbase__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Date-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Date.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DateTime-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DateTime.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DateTime__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1DateTime__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Date__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Date__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1NullisBlank.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1NullisNull.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1NullisZero.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1SQLParseElement-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1SQLParseElement.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Time-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Time.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Time__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1Time__inherit__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1equal__list__b-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1equal__list__b.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1equal__list__b__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1equal__list__ba-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1equal__list__ba.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1equal__list__ba__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1value__list__b-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1value__list__b.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1value__list__b__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1value__list__ba-members.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1value__list__ba.html trunk/MythTVReader/libs/mysql++/doc/html/refman/structmysqlpp_1_1value__list__ba__coll__graph.png trunk/MythTVReader/libs/mysql++/doc/html/refman/tiny__int_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/tiny__int_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/tiny__int_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/transaction_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/transaction_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/transaction_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/type__info_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/type__info_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/type__info_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/type__info_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/vallist_8h-source.html trunk/MythTVReader/libs/mysql++/doc/html/refman/vallist_8h.html trunk/MythTVReader/libs/mysql++/doc/html/refman/vallist_8h__dep__incl.png trunk/MythTVReader/libs/mysql++/doc/html/refman/vallist_8h__incl.png trunk/MythTVReader/libs/mysql++/doc/html/userman/ trunk/MythTVReader/libs/mysql++/doc/html/userman/breakages.html trunk/MythTVReader/libs/mysql++/doc/html/userman/capilimits.html trunk/MythTVReader/libs/mysql++/doc/html/userman/index.html trunk/MythTVReader/libs/mysql++/doc/html/userman/licenses.html trunk/MythTVReader/libs/mysql++/doc/html/userman/overview.html trunk/MythTVReader/libs/mysql++/doc/html/userman/ssqls.html trunk/MythTVReader/libs/mysql++/doc/html/userman/tangentsoft.css trunk/MythTVReader/libs/mysql++/doc/html/userman/tquery.html trunk/MythTVReader/libs/mysql++/doc/html/userman/tutorial.html trunk/MythTVReader/libs/mysql++/doc/html/userman/unicode.html trunk/MythTVReader/libs/mysql++/doc/pdf/ trunk/MythTVReader/libs/mysql++/doc/pdf/refman.pdf trunk/MythTVReader/libs/mysql++/doc/pdf/userman.pdf trunk/MythTVReader/libs/mysql++/doc/userman/LICENSE trunk/MythTVReader/libs/mysql++/doc/userman/userman.dbx trunk/MythTVReader/libs/mysql++/examples/cgi_jpeg.cpp trunk/MythTVReader/libs/mysql++/examples/for_each.cpp trunk/MythTVReader/libs/mysql++/examples/load_jpeg.cpp trunk/MythTVReader/libs/mysql++/examples/logo.jpg trunk/MythTVReader/libs/mysql++/examples/stock.h trunk/MythTVReader/libs/mysql++/examples/store_if.cpp trunk/MythTVReader/libs/mysql++/examples/tquery.cpp trunk/MythTVReader/libs/mysql++/examples/vstudio/ trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/ trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/mfc.cpp trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/mfc.h trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/mfc.rc trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/mfc.vcproj trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/mfc_dlg.cpp trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/mfc_dlg.h trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/resource.h trunk/MythTVReader/libs/mysql++/examples/vstudio/mfc/stdafx.h trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/ trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/AssemblyInfo.cpp trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/MainForm.h trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/MainForm.resX trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/resource.h trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/wforms.cpp trunk/MythTVReader/libs/mysql++/examples/vstudio/wforms/wforms.vcproj trunk/MythTVReader/libs/mysql++/examples/xaction.cpp trunk/MythTVReader/libs/mysql++/exrun trunk/MythTVReader/libs/mysql++/exrun.bat trunk/MythTVReader/libs/mysql++/lib/autoflag.h trunk/MythTVReader/libs/mysql++/lib/common.h trunk/MythTVReader/libs/mysql++/lib/mysql++.cpp trunk/MythTVReader/libs/mysql++/lib/mysql++.h.orig trunk/MythTVReader/libs/mysql++/lib/querydef.h trunk/MythTVReader/libs/mysql++/lib/querydef.pl trunk/MythTVReader/libs/mysql++/lib/sql_types.h trunk/MythTVReader/libs/mysql++/lib/transaction.cpp trunk/MythTVReader/libs/mysql++/lib/transaction.h trunk/MythTVReader/libs/mysql++/mysql++.bkl trunk/MythTVReader/libs/mysql++/mysql++.dsw trunk/MythTVReader/libs/mysql++/mysql++_cgi_image.dsp trunk/MythTVReader/libs/mysql++/mysql++_cgi_jpeg.dsp trunk/MythTVReader/libs/mysql++/mysql++_custom1.dsp trunk/MythTVReader/libs/mysql++/mysql++_custom2.dsp trunk/MythTVReader/libs/mysql++/mysql++_custom3.dsp trunk/MythTVReader/libs/mysql++/mysql++_custom4.dsp trunk/MythTVReader/libs/mysql++/mysql++_custom5.dsp trunk/MythTVReader/libs/mysql++/mysql++_custom6.dsp trunk/MythTVReader/libs/mysql++/mysql++_dbinfo.dsp trunk/MythTVReader/libs/mysql++/mysql++_fieldinf1.dsp trunk/MythTVReader/libs/mysql++/mysql++_for_each.dsp trunk/MythTVReader/libs/mysql++/mysql++_load_file.dsp trunk/MythTVReader/libs/mysql++/mysql++_load_jpeg.dsp trunk/MythTVReader/libs/mysql++/mysql++_multiquery.dsp trunk/MythTVReader/libs/mysql++/mysql++_mysqlpp.dsp trunk/MythTVReader/libs/mysql++/mysql++_mysqlpp.vcproj trunk/MythTVReader/libs/mysql++/mysql++_resetdb.dsp trunk/MythTVReader/libs/mysql++/mysql++_simple1.dsp trunk/MythTVReader/libs/mysql++/mysql++_simple2.dsp trunk/MythTVReader/libs/mysql++/mysql++_simple3.dsp trunk/MythTVReader/libs/mysql++/mysql++_store_if.dsp trunk/MythTVReader/libs/mysql++/mysql++_tquery.dsp trunk/MythTVReader/libs/mysql++/mysql++_usequery.dsp trunk/MythTVReader/libs/mysql++/mysql++_util.dsp trunk/MythTVReader/libs/mysql++/mysql++_xaction.dsp trunk/MythTVReader/libs/mysql++/osver trunk/MythTVReader/libs/mysql++/rebake Removed Paths: ------------- trunk/MythTVReader/libs/mysql++/Makefile.am trunk/MythTVReader/libs/mysql++/aclocal.m4 trunk/MythTVReader/libs/mysql++/buildmf.bat trunk/MythTVReader/libs/mysql++/common.am trunk/MythTVReader/libs/mysql++/config/mysql_shutdown.m4 trunk/MythTVReader/libs/mysql++/depcomp trunk/MythTVReader/libs/mysql++/doc/README.mysql++ trunk/MythTVReader/libs/mysql++/doc/mysqlpp-refman.pdf trunk/MythTVReader/libs/mysql++/doc/mysqlpp-userman.pdf trunk/MythTVReader/libs/mysql++/doc/refman/html/ trunk/MythTVReader/libs/mysql++/doc/userman/html/ trunk/MythTVReader/libs/mysql++/doc/userman/userman.xml trunk/MythTVReader/libs/mysql++/examples/Makefile.am trunk/MythTVReader/libs/mysql++/examples/Makefile.base trunk/MythTVReader/libs/mysql++/examples/Makefile.gcc trunk/MythTVReader/libs/mysql++/examples/Makefile.in trunk/MythTVReader/libs/mysql++/examples/Makefile.mingw trunk/MythTVReader/libs/mysql++/examples/Makefile.simple trunk/MythTVReader/libs/mysql++/examples/Makefile.vc trunk/MythTVReader/libs/mysql++/examples/README trunk/MythTVReader/libs/mysql++/examples/cgi_image.cpp trunk/MythTVReader/libs/mysql++/examples/load_file.cpp trunk/MythTVReader/libs/mysql++/examples/updel.cpp trunk/MythTVReader/libs/mysql++/lib/Doxyfile trunk/MythTVReader/libs/mysql++/lib/Makefile.am trunk/MythTVReader/libs/mysql++/lib/Makefile.base trunk/MythTVReader/libs/mysql++/lib/Makefile.gcc trunk/MythTVReader/libs/mysql++/lib/Makefile.in trunk/MythTVReader/libs/mysql++/lib/Makefile.mingw trunk/MythTVReader/libs/mysql++/lib/Makefile.simple trunk/MythTVReader/libs/mysql++/lib/Makefile.vc trunk/MythTVReader/libs/mysql++/lib/compare.h trunk/MythTVReader/libs/mysql++/lib/defs.h trunk/MythTVReader/libs/mysql++/lib/platform.h trunk/MythTVReader/libs/mysql++/ltmain.sh trunk/MythTVReader/libs/mysql++/makemake.bat trunk/MythTVReader/libs/mysql++/makemake.sh trunk/MythTVReader/libs/mysql++/missing trunk/MythTVReader/libs/mysql++/mkbindirs.bat trunk/MythTVReader/libs/mysql++/win32/ Property Changed: ---------------- trunk/MythTVReader/libs/mysql++/ Modified: trunk/MythTVReader/InnoSetup/libmySQL.dll =================================================================== (Binary files differ) Property changes on: trunk/MythTVReader/libs/mysql++ ___________________________________________________________________ Name: svn:ignore + Debug Release *.user Added: trunk/MythTVReader/libs/mysql++/Bakefiles.bkgen =================================================================== --- trunk/MythTVReader/libs/mysql++/Bakefiles.bkgen (rev 0) +++ trunk/MythTVReader/libs/mysql++/Bakefiles.bkgen 2007-07-08 12:57:36 UTC (rev 539) @@ -0,0 +1,15 @@ +<?xml version="1.0" ?> +<bakefile-gen> + <input> + ./mysql++.bkl + </input> + + <!-- List of output formats to generate: --> + <add-formats> + autoconf,msvc6prj,mingw + </add-formats> + + <add-flags formats="mingw"> + -o$(INPUT_FILE_DIR)/Makefile.mingw + </add-flags> +</bakefile-gen> Modified: trunk/MythTVReader/libs/mysql++/CREDITS =================================================================== --- trunk/MythTVReader/libs/mysql++/CREDITS 2007-07-08 11:20:58 UTC (rev 538) +++ trunk/MythTVReader/libs/mysql++/CREDITS 2007-07-08 12:57:36 UTC (rev 539) @@ -18,9 +18,6 @@ Also, if there were a "steering committee" for MySQL++, he'd be on it. - Totte Karlsson <tka...@qm...>: Primary force behind Borland - C++ Builder support. - Mark Meredino <Mar...@cn...>: Several fixes and additions, including a lot of work on Microsoft Visual C++ compatibility, and discoveries made while spelunking in the @@ -33,7 +30,19 @@ result set handling features, and multiquery example to demonstrate it. + Korolyov Ilya has submitted several patches in many different + areas of the library. + Remi Collet <Li...@Fa...> is maintaining offical + RPMs for Fedora, with other systems on the way. His work has + improved the RPM spec file we distribute greatly. + + Joel Fielder <joe...@sw...> came up with the + original idea for Query::for_each() and Query::store_in(), + provided the basis for examples/for_each.cpp, and provided + a fix for exception flag propagation in Query. + + Here are the personal credits from the old 1.7.9 documentation, apparently written by Kevin Atkinson: Modified: trunk/MythTVReader/libs/mysql++/ChangeLog =================================================================== --- trunk/MythTVReader/libs/mysql++/ChangeLog 2007-07-08 11:20:58 UTC (rev 538) +++ trunk/MythTVReader/libs/mysql++/ChangeLog 2007-07-08 12:57:36 UTC (rev 539) @@ -1,1161 +1,1559 @@ +2.3.0, 2007.07.02 (r1645) + + o Added Query::for_each() and Query::store_if() methods + proposed by Joel Fielder, and added examples for each. + + o It's now possible to store BLOB data in an SSQLS. It's not + foolproof, so added a section to the user manual (5.9) to + document the method. Also, changed examples/cgi_jpeg to use + this new mechanism, instead of the ugly "raw row data" method + it used to use. + + o Revamped Connection::set_option() handling. These options + used to be queued up, and applied only just before actually + establishing the connection. This made error reporting less + helpful because the diagnostic was separated from the cause. + Plus, the error messages were misleading to begin with. Now, + set_option() takes effect immediately if the connection is not + yet up (excepting one special option that can actually be set + after the connection is up) and issues better diagnostics when + it detects errors. + + o Connection::connect() used to set a few options in such a + way that the user couldn't override them. Now it's smart enough + to set them with the desired default values only when we see + that the user hasn't given them other values. + + o SQLString can now be initialized from a mysqlpp::null, + giving a "NULL" string. This is useful for template queries. + Patch by Michael Hanselmann. + + o resetdb error message about mixing library and header version + numbers is now more explicit. + + o Changed BadConversion exception's "what" message text to be + more like the other exceptions. The inconsistency lead one + to incorrectly copy-paste code from another exception handler, + expecting it to behave the same way. Now it does. + + o Added Row::raw_size(), as a shortcut for Row::at().size(). + + o ssqls-pretty now detects when it's being run from within + the MySQL++ distribution tree and gives a different -I flag + to the compiler, so that it picks up the distribution headers + instead of those that may be on the system already. + + o The quote manipulator now works for char[] correctly. + Thanks for this patch go to Andrew Sayers. (It's always + worked for char*, but C++ doesn't consider that to be the + same type, so it used the generic quote handling path, + which doesn't do anything for char[].) + + o Fixed a build bug on older Solaris versions where the + test for the C API library was erroneously failing, stopping + the configuration process. + + o Simplified mysql_shutdown() level argument detection. + Already had to do a version number ifdef check for the + Windows case, so there's really no point to doing it with + autoconf on Unixy platforms. Moved version number check + into lib/connection.cpp, and nuked the separate autoconf and + Windows tests. + + o Removed dependency of sql_types.h on myset.h and (indirectly) + datetime.h. Now we only define sql_* typedef aliases for those + MySQL++ types if the headers are included before sql_types.h. + + o Fixed a typo in one of the storein_sequence() template + overloads, which is apparently rarely (or never?) used, because + no one reported the compiler error you'd get if you tried. + + o Fixed a few more embedded null handling problems. + + o ColData used to keep two copies of all data it held. + Now it keeps just one. + + o Fixed install.bat script to track the unified Bakefile change + and the lack of separate debug and release builds under MinGW. + + o Yet another STLport + Query memory leak fix. + + o Squished a warning in newer GCCs having to do with identifier + shadowing. Patch by Jonathan Wakely. + + o Fixed a null-termination bug in Query::parse(). If you + somehow constructed a query string without a terminating null + character, then tried to parse it as a template query, it could + walk off the end of the string. Patch by Worster Chen. + + o Removed MYSQLPP_EXPORT tag from FieldNames and FieldTypes + class declarations, as this can cause problems in programs + that use vector<string> in VC++. It has to do with multiply + defined templates, since these classes derive from that + template, and VC++ can't resolve the conflict without help. + Since these classes aren't actually used outside the library, + this shouldn't cause a problem. Patch by Nils Woetzel. + + o Partial fix to Doxygen PDF build on RHEL4 and 5. Needs + hand-coaxing to complete successfully on RHEL4, and doesn't + yet work at all on RHEL5. + + o Shortened the "no*" options to the bootstrap script, so that + the usage message fits on a single line. + + o Added "nodoc" bootstrap script option, for disabling the + documentation build during the dist target build. Allows for + building binary RPMs on CentOS 5.0, where doc building is + currently broken. + + o Removed the updel example program. It was kind of silly, + and if you were to rewrite it today, you'd use for_each() anyway. + + o Lots of documentation improvements. + + +2.2.3, 2007.04.17 (r1538) "The Tax Day Release" + + o Previous version left examples/vstudio/* out of the tarball + by accident. + + o Improved generation of RPM temporary build directory path + name generation. Was using a hacked variant of the Fedora + Packaging Guidelines' second best choice. Now we're using + the choice they recommend most highly, without changes. + + o Removed unnecessary resources from vstudio/wforms example. + + o Minor URL fix in refman + + +2.2.2, 2007.04.13 (r1526) "The Nervousmaking Friday the 13th Release" + + o More small fixes to embedded null handling in Query. + + o Fixed a bug in single-parameter template query handling. + + o Added tquery example, to demonstrate proper use of template + queries. Previously, resetdb was the only exemplar, and + it wasn't really suited for that. This example also tests + the previous item. + + o Added examples/vstudio/mfc, allowing us to improve the way + we demonstrate Unicode handling. Old way wasn't realistic. + On *ix, people will depend on the terminal code to handle + UTF-8. On Windows, users are almost certain to be writing + a GUI program, which requires different Unicode handling + than the old examples showed. + + o Removed explicit Unicode conversion stuff from command line + examples, and reworked the Unicode chapter in the user + manual. + + o Added examples/vstudio/wforms to show integration with + C++/CLI and Windows Forms. Documented this in README.vc. + + o Rewrote load_file and cgi_image examples to be more + useful, renaming them to load_jpeg and cgi_jpeg along + the way. Also, resetdb now creates a second table in the + sample database for these two examples' use. Also, added + examples/logo.jpg to the distribution as sample data for + these examples. + + o Limited the ostream base class casting stuff in Query to + VC++ 2003, which is the only platform that really needed it. + VC++ 2005 emits a warning with that hack in place, and on + other platforms it's just replicating work that the compiler + does already. + + o Added library version information to main library target + so that systems that version shared libraries work as + expected. Thanks for this patch go to Jack Eidsness. + + o Merged much of the diffs between Remi Collet's RPM spec file + into the official one. + + o Reorganized the doc subdir a bit. Generated HTML is now all + under doc/html instead of scattered under other subdirs, + and renamed doc/README.mysql++ to doc/README.manuals. + + o Improvements to top-level manual building make targets: + manuals now only rebuild at need, it's easier to request + a rebuild of all manuals, and we force a rebuild attempt + before building the distribution tarball so we don't ship + outdated manuals. + + o Added ability to run examples under gdb using exrun, + using same mechanism as we currently have for valgrind. + Thanks for this patch go to Michael Hanselmann. + + o Added "Important Underlying C API Limitations" chapter to the + user manual, to cover problems we keep seeing on the + mailing list that are the result of ignorance of the way + libmysqlclient behaves, not bugs MySQL++ is really in a + position to fix. + + +2.2.1, 2007.02.28 (r1433) + + o Fixed the new localtime() alternative selection code + for VS2003 and various uses of STLport. + + o No longer inserting a null character into the query stream + on calling one of the preview() functions. This was harmless + in v2.1, which used C strings more extensively, but began + causing problems in v2.2 due to its wider use of C++ strings. + + o Fixed a bug in the Connection copy ctor where it didn't + completely initialize the object. + + o Optimized Query::preview_char() a bit. Patch by Jonathan + Wakely. + + o Reordered directory list used by autconf when locating the + MySQL C API library. The list is now ordered with the + most likely locations for the library first, so we're less + distracted by incorrect libraries. This fixes a specific + build error under RHEL4 with recent versions of MySQL 5.0. + + +2.2.0, 2007.01.23 (r1417) + + o ColData, const_string, and SQLString can now be constructed + with an explicit length parameter. Furthermore, Query + class's execute(), store() and use() call chains terminate + in a version taking an explicit length parameter, instead + of one taking a simple C string. Together, this means + that it's now easier to handle data from the SQL server + containing nulls. The library is almost certainly not yet + capable of handling embedded nulls in all cases, but this + is a big first step towards that. + + o Can now construct a DateTime object from a time_t, and + convert a DateTime back to a time_t. Patch by Korolyov Ilya. + + o Changed the way we're handling exported functions in the + Windows DLL case so that it works more reliably under MinGW. + + o Added proper copy semantics to Connection, so that you get a + new connection with the same parameters, not just a bitwise + copy of the object. + + o Using an explicitly thread-safe variant of localtime() for + time conversions where one is available. + + o Removed ListInsert template from myset.h. This wasn't used + within the library, and was never documented, so I'm betting + that no one actually uses it. + + o Result::copy() was not copying the exception flag in + all cases. Fix by Steven Van Ingelgem. + + o Added exrun shell script and exrun.bat files to distribution, + to avoid linkage errors when running the examples while + you still have an older version of MySQL++ installed. + + o Renamed MYSQLPP_LIB_VERSION to MYSQLPP_HEADER_VERSION, as + what it really encodes is the version number in the mysql++.h + file you're using, not the actual library version number. + + o Added mysqlpp::get_library_version(), which returns the + library version number at build time. Between this and + the header version constant, you can check that you're not + mixing MySQL++ header and library versions. + + o resetdb example uses these new version number affordances to + double-check that you're not mixing libraries and headers + from different versions. This happens easily unless you + take care of it (such as by using exrun) when you have one + version of MySQL++ installed and you're trying to build and + test a new version without blowing away the old one first + or overwriting it. + + o No longer using recursive Makefiles on Unixy platforms + or split lib + examples project files on VC++. Everything is + handled by a single top-level Makefile or project file, which + is simpler for the end user, and makes better dependency + management possible. + + o When looking for the MySQL C library on systems using + autoconf, looking in .../lib64 wherever we are also looking + in .../lib. + + o RPM build process no longer depends on Bakefile. It means + you have to build the examples when building an RPM even + though they're never used within the RPM, but it's a better + tradeoff in my opinion. + + o Updated include and library paths on Windows to reflect + changes in the most recent MySQL installers. + + o Merged lib/defs.h and lib/platform.h into new file, + lib/common.h. Just cleans up the library internals. + + o Fixed build errors on Windows due to recent changes in MySQL. + + o Fixed a few memory leaks and double-deletes in Query class. + + o Fixed compatibility with STLPort's string implementation. + Patch by dengxy at cse.buaa.edu.cn. + + o Fixed a compatibility problem between Set<> template and + SSQLS. Patch by Korolyov Ilya. + + o Fixed build bug in SQLQueryParms due to a character + signedness issue on PowerPC with GCC. Patch by Michael + Hanselmann. + + o ~Transaction() can no longer throw exceptions. It'll just + quietly eat them, to avoid program termination. Fix + suggested by Alex Burton. + + o Fixed thread safety testing in autoconf case, accidentally + broken during v2.1.0 development cycle. + + o Using Doxygen 1.5.1 to generate documentation. + + +2.1.1, 2006.04.04 (r1289) + + o MinGW and Cygwin will now build and link to mysqlpp DLLs. + + o Fixed bug in Query, causing it to initialize the "throw + exceptions" flag incorrectly. Thanks for this patch go to + Joel Fielder. + + o Added -v flag for custom.pl script, which turns off the + multiply-defined static variable fix. Needed for VS 2003, + which doesn't support variadic macros. Also, added + a diagnostic to detect the need for the -v flag, and + suppressed the test for this feature in examples/util.cpp. + + +2.1.0, 2006.03.24 (r1269) + + o Converted automake and makemake files to their equivalents in + Bakefile format. + + o Added the Transaction class, which makes it easy to use + transaction sets in MySQL++. + + o Added xaction example to test new Transaction class. + + o Resetdb example now creates its example table using the + InnoDB storage engine, in order to test the new transaction + support. Resetdb also declares the table as using UTF-8 + text; this doesn't change anything, but it does correctly + document what we're doing. + + o Added sql_types.h header, containing C++ typedefs + corresponding to each MySQL column type. Using those new + types in the type_info module, and in the SSQLS examples. + + o Replaced the way we were handling the template query + version of Query member functions, to allow an arbitrary + number of template query parameters. By default, we + now support 25 parameters, up from the old limit of 12. + It's now possible to change just one number, run a script, + and have a new limit. + + o Connection class does a better job of returning error + messages if you call certain member functions that depend + on a connection to the server before the connection is + established. + + o Updated libmysqlclient.def for newer versions of MySQL. (Fixes + build errors having to do with mysql_more_results() and + mysql_next_result(). + + o Replaced final use of strcpy() with strncpy(). + + o custom.pl now runs without complaint in strict mode, with + warnings turned on. Thanks for this patch go to "Waba". + + o Fixed a bug in custom.pl where incorrect code would be + generated for some SSQLS set() methods. Thanks for this + patch go to "Waba". + + o SSQLS structures now support long and unsigned long fields. + Thanks for this patch go to "Waba". + + o It's now possible to put SSQLS definitions in a header + file used by multiple modules in a program without + getting multiple static member definition errors. See the + documentation for details. Thanks for this patch go to + Viktor Stark. + + o Moved the definition of the 'stock' SSQLS out of the + custom*.cpp example files and into a new stock.h file. + Also, #including that file in the util module to test out + the new SSQLS multiple static definition fix. + + o Using all of the digits of precision guaranteed by the + IEEE 754 spec when stringizing floating point numbers + to build queries. Previously, we would use the platform + default, which can be as few as 6 digits. + + o Removed lib/compare.h. Not used within the library, never + documented, and nobody seems to want to defend it. + + 2.0.7, 2005.11.23 (r1147) - o Added explicit mysqlpp namespace qualifiers to generated code in - custom*.h so you can use SSQLS in places where it doesn't make - sense to say "using namespace mysqlpp" before the declaration. - Also updated some of the examples to not have this "using" - declaration to make it clear to users that it isn't needed, if you - want to use explicit namespace qualifiers as well. Thanks for - this patch to Chris Frey. + o Added explicit mysqlpp namespace qualifiers to generated code in + custom*.h so you can use SSQLS in places where it doesn't make + sense to say "using namespa... [truncated message content] |
From: <to...@us...> - 2007-07-08 16:52:38
|
Revision: 540 http://svn.sourceforge.net/dsmyth/?rev=540&view=rev Author: tobbej Date: 2007-07-08 09:52:36 -0700 (Sun, 08 Jul 2007) Log Message: ----------- added PropertyHandler dll file Modified Paths: -------------- trunk/MythTVReader/reg-debug.bat trunk/MythTVReader/reg-release.bat Modified: trunk/MythTVReader/reg-debug.bat =================================================================== --- trunk/MythTVReader/reg-debug.bat 2007-07-08 12:57:36 UTC (rev 539) +++ trunk/MythTVReader/reg-debug.bat 2007-07-08 16:52:36 UTC (rev 540) @@ -8,3 +8,5 @@ regsvr32 Debug\NuvPropPage.dll regsvr32 /u Debug\rtjpg.dll regsvr32 Debug\rtjpg.dll +regsvr32 /u Debug\PropertyHandler.dll +regsvr32 Debug\PropertyHandler.dll \ No newline at end of file Modified: trunk/MythTVReader/reg-release.bat =================================================================== --- trunk/MythTVReader/reg-release.bat 2007-07-08 12:57:36 UTC (rev 539) +++ trunk/MythTVReader/reg-release.bat 2007-07-08 16:52:36 UTC (rev 540) @@ -8,3 +8,5 @@ regsvr32 Release\NuvPropPage.dll regsvr32 /u Release\rtjpg.dll regsvr32 Release\rtjpg.dll +regsvr32 /u Release\PropertyHandler.dll +regsvr32 Release\PropertyHandler.dll \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <to...@us...> - 2007-07-11 21:10:30
|
Revision: 544 http://svn.sourceforge.net/dsmyth/?rev=544&view=rev Author: tobbej Date: 2007-07-11 14:10:28 -0700 (Wed, 11 Jul 2007) Log Message: ----------- Fix a few things i forgot after changing CProgramInfo to use wide strings Modified Paths: -------------- trunk/MythTVReader/MythSource/MythSourcePage.cpp trunk/MythTVReader/MythSource/RecordedProgramsPage.cpp trunk/MythTVReader/NuvConv/Convert.cpp Modified: trunk/MythTVReader/MythSource/MythSourcePage.cpp =================================================================== --- trunk/MythTVReader/MythSource/MythSourcePage.cpp 2007-07-11 21:02:40 UTC (rev 543) +++ trunk/MythTVReader/MythSource/MythSourcePage.cpp 2007-07-11 21:10:28 UTC (rev 544) @@ -173,12 +173,12 @@ CProgramInfo proginfo; proginfo.FromString(CAtlString(pProgInfo)); ///@todo fix the character conversion to do something better and still be compatible with win9x/me - SetDlgItemText(IDC_MYTHSOURCEPAGE_TITLE,CW2A(CA2W(proginfo.m_title,CP_UTF8))); - SetDlgItemText(IDC_MYTHSOURCEPAGE_SUBTITLE,CW2A(CA2W(proginfo.m_subtitle,CP_UTF8))); - SetDlgItemText(IDC_MYTHSOURCEPAGE_CATEGORY,CW2A(CA2W(proginfo.m_category,CP_UTF8))); - SetDlgItemText(IDC_MYTHSOURCEPAGE_CHANNEL,CW2A(CA2W(proginfo.m_channame,CP_UTF8))); - SetDlgItemText(IDC_MYTHSOURCEPAGE_CALLSIGN,CW2A(CA2W(proginfo.m_chansign,CP_UTF8))); - SetDlgItemText(IDC_MYTHSOURCEPAGE_DESCRIPTION,CW2A(CA2W(proginfo.m_description,CP_UTF8))); + SetDlgItemText(IDC_MYTHSOURCEPAGE_TITLE,CW2A(proginfo.m_title,CP_UTF8)); + SetDlgItemText(IDC_MYTHSOURCEPAGE_SUBTITLE,CW2A(proginfo.m_subtitle,CP_UTF8)); + SetDlgItemText(IDC_MYTHSOURCEPAGE_CATEGORY,CW2A(proginfo.m_category,CP_UTF8)); + SetDlgItemText(IDC_MYTHSOURCEPAGE_CHANNEL,CW2A(proginfo.m_channame,CP_UTF8)); + SetDlgItemText(IDC_MYTHSOURCEPAGE_CALLSIGN,CW2A(proginfo.m_chansign,CP_UTF8)); + SetDlgItemText(IDC_MYTHSOURCEPAGE_DESCRIPTION,CW2A(proginfo.m_description,CP_UTF8)); CoTaskMemFree(pProgInfo); pProgInfo=NULL; Modified: trunk/MythTVReader/MythSource/RecordedProgramsPage.cpp =================================================================== --- trunk/MythTVReader/MythSource/RecordedProgramsPage.cpp 2007-07-11 21:02:40 UTC (rev 543) +++ trunk/MythTVReader/MythSource/RecordedProgramsPage.cpp 2007-07-11 21:10:28 UTC (rev 544) @@ -193,8 +193,7 @@ { LVITEMW lvi; lvi.mask=LVIF_TEXT|LVIF_PARAM; - CA2W tmptitle(m_ProgInfo[i].m_title,CP_UTF8); - lvi.pszText=tmptitle; + lvi.pszText=m_ProgInfo[i].m_title.GetBuffer(); lvi.iItem=0; lvi.iSubItem=0; lvi.lParam=i; @@ -202,22 +201,20 @@ LVITEMW lvSubItem; lvSubItem.mask=LVIF_TEXT; - CA2W tmpsubtitle(m_ProgInfo[i].m_subtitle,CP_UTF8); - lvSubItem.pszText=tmpsubtitle; + lvSubItem.pszText=m_ProgInfo[i].m_subtitle.GetBuffer(); lvSubItem.iItem=res; lvSubItem.iSubItem=1; res=SendMessage(hList,LVM_SETITEMW,0,(LPARAM)&lvSubItem); lvSubItem.iSubItem=2; - CA2W tmpchname(m_ProgInfo[i].m_channame,CP_UTF8); - lvSubItem.pszText=tmpchname; + lvSubItem.pszText=m_ProgInfo[i].m_channame.GetBuffer(); res=SendMessage(hList,LVM_SETITEMW,0,(LPARAM)&lvSubItem); } else { LVITEMA lvi; lvi.mask=LVIF_TEXT|LVIF_PARAM; - lvi.pszText=m_ProgInfo[i].m_title.GetBuffer(); + lvi.pszText=CW2A(m_ProgInfo[i].m_title.GetBuffer()); lvi.iItem=0; lvi.iSubItem=0; lvi.lParam=i; @@ -225,13 +222,13 @@ LVITEMA lvSubItem; lvSubItem.mask=LVIF_TEXT; - lvSubItem.pszText=m_ProgInfo[i].m_subtitle.GetBuffer(); + lvSubItem.pszText=CW2A(m_ProgInfo[i].m_subtitle.GetBuffer()); lvSubItem.iItem=res; lvSubItem.iSubItem=1; res=SendMessage(hList,LVM_SETITEMA,0,(LPARAM)&lvSubItem); lvSubItem.iSubItem=2; - lvSubItem.pszText=m_ProgInfo[i].m_channame.GetBuffer(); + lvSubItem.pszText=CW2A(m_ProgInfo[i].m_channame.GetBuffer()); res=SendMessage(hList,LVM_SETITEMA,0,(LPARAM)&lvSubItem); } } @@ -384,10 +381,10 @@ { CAtlStringW str; str.Format(L"Are you sure you want to delete:\n%s: %s recorded at %s on %s", - (LPWSTR)CA2W(prog.m_title,CP_UTF8), - (LPWSTR)CA2W(prog.m_subtitle,CP_UTF8), - (LPWSTR)CA2W(prog.m_recstartts.Format("%Y-%m-%d %H:%M:%S"),CP_UTF8), - (LPWSTR)CA2W(prog.m_channame,CP_UTF8)); + (LPWSTR)prog.m_title.GetBuffer(), + (LPWSTR)prog.m_subtitle.GetBuffer(), + (LPWSTR)prog.m_recstartts.Format("%Y-%m-%d %H:%M:%S").GetBuffer(), + (LPWSTR)prog.m_channame.GetBuffer()); if(MessageBoxW(m_hWnd,str.GetBuffer(),L"Delete?",MB_YESNO|MB_ICONQUESTION)==IDYES) { CAtlString tmp; Modified: trunk/MythTVReader/NuvConv/Convert.cpp =================================================================== --- trunk/MythTVReader/NuvConv/Convert.cpp 2007-07-11 21:02:40 UTC (rev 543) +++ trunk/MythTVReader/NuvConv/Convert.cpp 2007-07-11 21:10:28 UTC (rev 544) @@ -261,7 +261,7 @@ if(m_fileinfo.m_ProgramInfo.m_subtitle.GetLength()>0) { str+=": "; - str+=CT2W(m_fileinfo.m_ProgramInfo.m_subtitle); + str+=m_fileinfo.m_ProgramInfo.m_subtitle; } val=str; hr=pBag->Write(OLESTR("INFO/INAM"),&val); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <to...@us...> - 2007-07-12 16:20:34
|
Revision: 545 http://svn.sourceforge.net/dsmyth/?rev=545&view=rev Author: tobbej Date: 2007-07-12 09:19:58 -0700 (Thu, 12 Jul 2007) Log Message: ----------- * workaround for missing min() and max() * get rid of some compilation warnings from atl * fix some more strings i forgot after the changes to CProgramInfo Modified Paths: -------------- trunk/MythTVReader/DSMyth/NuvReader.h trunk/MythTVReader/DSMyth/StdAfx.h trunk/MythTVReader/MythSource/MythSourceFilter.cpp trunk/MythTVReader/MythSource/MythSourceFilter.h trunk/MythTVReader/MythSource/stdafx.h trunk/MythTVReader/MythTVReader.sln trunk/MythTVReader/NuvConv/stdafx.h trunk/MythTVReader/NuvPropPage/stdafx.h trunk/MythTVReader/common/NuvInfo.h trunk/MythTVReader/common/common.vcproj trunk/MythTVReader/common/utils.h Added Paths: ----------- trunk/MythTVReader/common/fixit.h Modified: trunk/MythTVReader/DSMyth/NuvReader.h =================================================================== --- trunk/MythTVReader/DSMyth/NuvReader.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/DSMyth/NuvReader.h 2007-07-12 16:19:58 UTC (rev 545) @@ -33,6 +33,7 @@ #include "SeekTableThread.h" #include "..\MythSource\MythSource.h" #include "SeekTable.h" +#include "fixit.h" // {1EA72153-CC9E-494c-A2D2-59E632685748} // Custom media subtype Modified: trunk/MythTVReader/DSMyth/StdAfx.h =================================================================== --- trunk/MythTVReader/DSMyth/StdAfx.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/DSMyth/StdAfx.h 2007-07-12 16:19:58 UTC (rev 545) @@ -41,6 +41,9 @@ //#define _ATL_DEBUG_QI //#endif +//dont deprecate old stuff, atl uses those +#define STRSAFE_NO_DEPRECATE + #include <atlbase.h> //You may derive a class from CComModule and use it if you want to override //something, but do not change the name of _Module Modified: trunk/MythTVReader/MythSource/MythSourceFilter.cpp =================================================================== --- trunk/MythTVReader/MythSource/MythSourceFilter.cpp 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/MythSource/MythSourceFilter.cpp 2007-07-12 16:19:58 UTC (rev 545) @@ -791,16 +791,16 @@ CProgramInfo info; pChain->GetProgramAt(lIndex,info); CAtlStringW name; - name=CA2W(info.m_title,CP_UTF8); + name=info.m_title; if(info.m_subtitle.GetLength()>0) { name+=L": "; - name+=CA2W(info.m_subtitle,CP_UTF8); + name+=info.m_subtitle; } if(info.m_chansign.GetLength()>0) { name+=L" ("; - name+=CA2W(info.m_chansign,CP_UTF8); + name+=info.m_chansign; name+=L")"; } ULONG size=name.GetLength()+1; @@ -1216,4 +1216,4 @@ return m_pSeekPin->SendEndOfStream(); } return S_OK; -} \ No newline at end of file +} Modified: trunk/MythTVReader/MythSource/MythSourceFilter.h =================================================================== --- trunk/MythTVReader/MythSource/MythSourceFilter.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/MythSource/MythSourceFilter.h 2007-07-12 16:19:58 UTC (rev 545) @@ -31,6 +31,7 @@ #include "BaseFilter.h" #include "_IBackendEvents_CP.H" #include "ComFilterEventReceiver.h" +#include "fixit.h" class CAsyncOutputPin; class CMemOutPin; Modified: trunk/MythTVReader/MythSource/stdafx.h =================================================================== --- trunk/MythTVReader/MythSource/stdafx.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/MythSource/stdafx.h 2007-07-12 16:19:58 UTC (rev 545) @@ -54,6 +54,9 @@ // turns off ATL's hiding of some common and often safely ignored warning messages #define _ATL_ALL_WARNINGS +//dont deprecate old stuff, atl uses those +#define STRSAFE_NO_DEPRECATE + #include "resource.h" #include <atlbase.h> #include <atlcom.h> Modified: trunk/MythTVReader/MythTVReader.sln =================================================================== --- trunk/MythTVReader/MythTVReader.sln 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/MythTVReader.sln 2007-07-12 16:19:58 UTC (rev 545) @@ -2,8 +2,8 @@ # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DSMyth", "DSMyth\DSMyth.vcproj", "{F6B27C5D-7691-4815-81A0-0C224E72398B}" ProjectSection(ProjectDependencies) = postProject + {5F161F3E-2B8B-4C77-8572-41007C10A02A} = {5F161F3E-2B8B-4C77-8572-41007C10A02A} {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} - {5F161F3E-2B8B-4C77-8572-41007C10A02A} = {5F161F3E-2B8B-4C77-8572-41007C10A02A} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rtjpg", "rtjpg\rtjpg.vcproj", "{D5CC2DA7-33FD-4ACD-B0ED-E32418612331}" @@ -15,19 +15,19 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MythSource", "MythSource\MythSource.vcproj", "{5F161F3E-2B8B-4C77-8572-41007C10A02A}" ProjectSection(ProjectDependencies) = postProject - {E255F9F0-9185-4D5A-9497-A23259CE1769} = {E255F9F0-9185-4D5A-9497-A23259CE1769} + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} = {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} + {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} = {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} - {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} = {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Config", "Config\Config.vcproj", "{4F964E4A-B778-4173-94A6-EAC25FD43885}" ProjectSection(ProjectDependencies) = postProject - {E255F9F0-9185-4D5A-9497-A23259CE1769} = {E255F9F0-9185-4D5A-9497-A23259CE1769} + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} = {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "common", "common\common.vcproj", "{8A693FB2-FAA6-407B-80C7-08C5C48C5381}" ProjectSection(ProjectDependencies) = postProject - {E255F9F0-9185-4D5A-9497-A23259CE1769} = {E255F9F0-9185-4D5A-9497-A23259CE1769} + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} = {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NuvConv", "NuvConv\NuvConv.vcproj", "{86F43618-AE3C-481F-881F-F9871437A0FA}" @@ -35,8 +35,6 @@ {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysql++", "libs\mysql++\win32\mysql++.vcproj", "{E255F9F0-9185-4D5A-9497-A23259CE1769}" -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdvbpsi", "libs\libdvbpsi\vc++\libdvbpsi.vcproj", "{4E805F8C-4927-43D8-B6E4-C8F82AF670C3}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandler", "PropertyHandler\PropertyHandler.vcproj", "{B71EB910-12E4-4C96-B0C2-5284188F2C9D}" @@ -49,6 +47,8 @@ {B71EB910-12E4-4C96-B0C2-5284188F2C9D} = {B71EB910-12E4-4C96-B0C2-5284188F2C9D} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mysqlpp", "libs\mysql++\mysql++_mysqlpp.vcproj", "{366D3D7C-DEED-4F5E-B506-3B235AB0B75C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -83,10 +83,6 @@ {86F43618-AE3C-481F-881F-F9871437A0FA}.Debug|Win32.Build.0 = Debug|Win32 {86F43618-AE3C-481F-881F-F9871437A0FA}.Release|Win32.ActiveCfg = Release|Win32 {86F43618-AE3C-481F-881F-F9871437A0FA}.Release|Win32.Build.0 = Release|Win32 - {E255F9F0-9185-4D5A-9497-A23259CE1769}.Debug|Win32.ActiveCfg = Debug|Win32 - {E255F9F0-9185-4D5A-9497-A23259CE1769}.Debug|Win32.Build.0 = Debug|Win32 - {E255F9F0-9185-4D5A-9497-A23259CE1769}.Release|Win32.ActiveCfg = Release|Win32 - {E255F9F0-9185-4D5A-9497-A23259CE1769}.Release|Win32.Build.0 = Release|Win32 {4E805F8C-4927-43D8-B6E4-C8F82AF670C3}.Debug|Win32.ActiveCfg = Debug|Win32 {4E805F8C-4927-43D8-B6E4-C8F82AF670C3}.Debug|Win32.Build.0 = Debug|Win32 {4E805F8C-4927-43D8-B6E4-C8F82AF670C3}.Release|Win32.ActiveCfg = Release|Win32 @@ -97,6 +93,10 @@ {B71EB910-12E4-4C96-B0C2-5284188F2C9D}.Release|Win32.Build.0 = Release|Win32 {F65AED6A-743C-4E23-A6B3-C17F4A19196B}.Debug|Win32.ActiveCfg = Debug|Win32 {F65AED6A-743C-4E23-A6B3-C17F4A19196B}.Release|Win32.ActiveCfg = Release|Win32 + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C}.Debug|Win32.ActiveCfg = Debug|Win32 + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C}.Debug|Win32.Build.0 = Debug|Win32 + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C}.Release|Win32.ActiveCfg = Release|Win32 + {366D3D7C-DEED-4F5E-B506-3B235AB0B75C}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE Modified: trunk/MythTVReader/NuvConv/stdafx.h =================================================================== --- trunk/MythTVReader/NuvConv/stdafx.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/NuvConv/stdafx.h 2007-07-12 16:19:58 UTC (rev 545) @@ -64,6 +64,7 @@ #include <dshow.h> #include <atlstr.h> +#include <atlcoll.h> //#ifdef _UNICODE #if defined _M_IX86 Modified: trunk/MythTVReader/NuvPropPage/stdafx.h =================================================================== --- trunk/MythTVReader/NuvPropPage/stdafx.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/NuvPropPage/stdafx.h 2007-07-12 16:19:58 UTC (rev 545) @@ -68,6 +68,7 @@ #include <atlstr.h> #include <atltime.h> #include <ATLComTime.h> +#include <atlcoll.h> using namespace ATL; Modified: trunk/MythTVReader/common/NuvInfo.h =================================================================== --- trunk/MythTVReader/common/NuvInfo.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/common/NuvInfo.h 2007-07-12 16:19:58 UTC (rev 545) @@ -25,7 +25,6 @@ #pragma once #include "format.h" -#include <atlcoll.h> #include "DBUtils.h" #include "mysql++.h" #include "ProgramInfo.h" Modified: trunk/MythTVReader/common/common.vcproj =================================================================== --- trunk/MythTVReader/common/common.vcproj 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/common/common.vcproj 2007-07-12 16:19:58 UTC (rev 545) @@ -306,6 +306,10 @@ > </File> <File + RelativePath=".\fixit.h" + > + </File> + <File RelativePath=".\format.h" > </File> Added: trunk/MythTVReader/common/fixit.h =================================================================== --- trunk/MythTVReader/common/fixit.h (rev 0) +++ trunk/MythTVReader/common/fixit.h 2007-07-12 16:19:58 UTC (rev 545) @@ -0,0 +1,36 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2007 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file fixit.h a workaroud for missing min() and max() + */ + +#if defined(_WINDEF_) && !defined(max) +#pragma message("windef.h is included but max is still missing") +#endif + +//stupid include file mess +//probably circular include dependencys somewere messing up windef.h +#ifndef max +#define max(a,b) (((a) > (b)) ? (a) : (b)) +#endif +#ifndef min +#define min(a,b) (((a) < (b)) ? (a) : (b)) +#endif \ No newline at end of file Modified: trunk/MythTVReader/common/utils.h =================================================================== --- trunk/MythTVReader/common/utils.h 2007-07-11 21:10:28 UTC (rev 544) +++ trunk/MythTVReader/common/utils.h 2007-07-12 16:19:58 UTC (rev 545) @@ -22,6 +22,8 @@ * @file utils.h */ +#pragma once + #include <dshow.h> /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <to...@us...> - 2007-07-15 12:35:42
|
Revision: 550 http://svn.sourceforge.net/dsmyth/?rev=550&view=rev Author: tobbej Date: 2007-07-15 05:35:40 -0700 (Sun, 15 Jul 2007) Log Message: ----------- Move shell related code to it's own directory Modified Paths: -------------- trunk/MythTVReader/MythTVReader.sln Added Paths: ----------- trunk/MythTVReader/Shell/ trunk/MythTVReader/Shell/NuvPropPage/ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rc trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.vcproj trunk/MythTVReader/Shell/NuvPropPage/NuvPropPagePS.vcproj trunk/MythTVReader/Shell/NuvPropPage/NuvPropPageps.def trunk/MythTVReader/Shell/NuvPropPage/NuvProps.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvProps.h trunk/MythTVReader/Shell/NuvPropPage/NuvProps.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs trunk/MythTVReader/Shell/NuvPropPage/custprops.h trunk/MythTVReader/Shell/NuvPropPage/resource.h trunk/MythTVReader/Shell/NuvPropPage/stdafx.cpp trunk/MythTVReader/Shell/NuvPropPage/stdafx.h trunk/MythTVReader/Shell/PropertyHandler/ trunk/MythTVReader/Shell/PropertyHandler/MythTVProperties.cpp trunk/MythTVReader/Shell/PropertyHandler/MythTVProperties.h trunk/MythTVReader/Shell/PropertyHandler/MythTVProperties.rgs trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.cpp trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.def trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.idl trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.rc trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.rgs trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.vcproj trunk/MythTVReader/Shell/PropertyHandler/PropertyHandlerPS.vcproj trunk/MythTVReader/Shell/PropertyHandler/PropertyHandlerps.def trunk/MythTVReader/Shell/PropertyHandler/resource.h trunk/MythTVReader/Shell/PropertyHandler/stdafx.cpp trunk/MythTVReader/Shell/PropertyHandler/stdafx.h Removed Paths: ------------- trunk/MythTVReader/NuvPropPage/ trunk/MythTVReader/PropertyHandler/ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rc trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.vcproj trunk/MythTVReader/Shell/NuvPropPage/NuvPropPagePS.vcproj trunk/MythTVReader/Shell/NuvPropPage/NuvPropPageps.def trunk/MythTVReader/Shell/NuvPropPage/NuvProps.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvProps.h trunk/MythTVReader/Shell/NuvPropPage/NuvProps.rgs trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs trunk/MythTVReader/Shell/NuvPropPage/custprops.h trunk/MythTVReader/Shell/NuvPropPage/resource.h trunk/MythTVReader/Shell/NuvPropPage/stdafx.cpp trunk/MythTVReader/Shell/NuvPropPage/stdafx.h trunk/MythTVReader/Shell/PropertyHandler/MythTVProperties.cpp trunk/MythTVReader/Shell/PropertyHandler/MythTVProperties.h trunk/MythTVReader/Shell/PropertyHandler/MythTVProperties.rgs trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.cpp trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.def trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.idl trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.rc trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.rgs trunk/MythTVReader/Shell/PropertyHandler/PropertyHandler.vcproj trunk/MythTVReader/Shell/PropertyHandler/PropertyHandlerPS.vcproj trunk/MythTVReader/Shell/PropertyHandler/PropertyHandlerps.def trunk/MythTVReader/Shell/PropertyHandler/resource.h trunk/MythTVReader/Shell/PropertyHandler/stdafx.cpp trunk/MythTVReader/Shell/PropertyHandler/stdafx.h Modified: trunk/MythTVReader/MythTVReader.sln =================================================================== --- trunk/MythTVReader/MythTVReader.sln 2007-07-15 12:26:46 UTC (rev 549) +++ trunk/MythTVReader/MythTVReader.sln 2007-07-15 12:35:40 UTC (rev 550) @@ -2,22 +2,22 @@ # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DSMyth", "DSMyth\DSMyth.vcproj", "{F6B27C5D-7691-4815-81A0-0C224E72398B}" ProjectSection(ProjectDependencies) = postProject + {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} {5F161F3E-2B8B-4C77-8572-41007C10A02A} = {5F161F3E-2B8B-4C77-8572-41007C10A02A} - {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rtjpg", "rtjpg\rtjpg.vcproj", "{D5CC2DA7-33FD-4ACD-B0ED-E32418612331}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NuvPropPage", "NuvPropPage\NuvPropPage.vcproj", "{A25C39EC-460F-4992-A46A-A8E07F47F98B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NuvPropPage", "Shell\NuvPropPage\NuvPropPage.vcproj", "{A25C39EC-460F-4992-A46A-A8E07F47F98B}" ProjectSection(ProjectDependencies) = postProject {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MythSource", "MythSource\MythSource.vcproj", "{5F161F3E-2B8B-4C77-8572-41007C10A02A}" ProjectSection(ProjectDependencies) = postProject + {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} + {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} = {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} = {366D3D7C-DEED-4F5E-B506-3B235AB0B75C} - {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} = {4E805F8C-4927-43D8-B6E4-C8F82AF670C3} - {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Config", "Config\Config.vcproj", "{4F964E4A-B778-4173-94A6-EAC25FD43885}" @@ -37,12 +37,12 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libdvbpsi", "libs\libdvbpsi\vc++\libdvbpsi.vcproj", "{4E805F8C-4927-43D8-B6E4-C8F82AF670C3}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandler", "PropertyHandler\PropertyHandler.vcproj", "{B71EB910-12E4-4C96-B0C2-5284188F2C9D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandler", "Shell\PropertyHandler\PropertyHandler.vcproj", "{B71EB910-12E4-4C96-B0C2-5284188F2C9D}" ProjectSection(ProjectDependencies) = postProject {8A693FB2-FAA6-407B-80C7-08C5C48C5381} = {8A693FB2-FAA6-407B-80C7-08C5C48C5381} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandlerPS", "PropertyHandler\PropertyHandlerPS.vcproj", "{F65AED6A-743C-4E23-A6B3-C17F4A19196B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PropertyHandlerPS", "Shell\PropertyHandler\PropertyHandlerPS.vcproj", "{F65AED6A-743C-4E23-A6B3-C17F4A19196B}" ProjectSection(ProjectDependencies) = postProject {B71EB910-12E4-4C96-B0C2-5284188F2C9D} = {B71EB910-12E4-4C96-B0C2-5284188F2C9D} EndProjectSection Copied: trunk/MythTVReader/Shell/NuvPropPage (from rev 545, trunk/MythTVReader/NuvPropPage) Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvColHandler.cpp 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp 2007-07-15 12:35:40 UTC (rev 550) @@ -1,258 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file NuvColHandler.cpp Implementation of CNuvColHandler - */ - -#include "stdafx.h" -#include "NuvColHandler.h" -#include "custprops.h" - -// CNuvColHandler -CNuvColHandler::CNuvColHandler() -{ - -} - -HRESULT CNuvColHandler::FinalConstruct() -{ - ATLTRACE(_T("%s(%d) : CNuvProps::FinalConstruct\n"),__FILE__,__LINE__); - return S_OK; -} - -void CNuvColHandler::FinalRelease() -{ - ATLTRACE(_T("%s(%d) : CNuvProps::FinalRelease\n"),__FILE__,__LINE__); -} - -HRESULT CNuvColHandler::Initialize(LPCSHCOLUMNINIT psci) -{ - ATLTRACE(_T("%s(%d) : CNuvProps::Initialize\n"),__FILE__,__LINE__); - m_Folder=psci->wszFolder; - //clear cache when changing folder - //probably not necessary - //m_FileInfo.ClearCache(); - return S_OK; -} - -HRESULT CNuvColHandler::GetColumnInfo(DWORD dwIndex, SHCOLUMNINFO *psci) -{ - ATLTRACE(_T("%s(%d) : CNuvProps::GetColumnInfo\n"),__FILE__,__LINE__); - if(psci==NULL) - { - return E_POINTER; - } - if(dwIndex==0) - { - psci->scid.fmtid=FMTID_SummaryInformation; - psci->scid.pid=PIDSI_TITLE; - psci->vt=VT_BSTR; - psci->cChars=15; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Title"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else if(dwIndex==1) - { - psci->scid.fmtid=FMTID_ImageSummaryInformation; - psci->scid.pid=0xd; - psci->vt=VT_BSTR; - psci->cChars=10; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Dimensions"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else if(dwIndex==2) - { - psci->scid.fmtid=FMTID_AudioSummaryInformation; - psci->scid.pid=PIDASI_TIMELENGTH; - psci->vt=VT_LPWSTR; - psci->cChars=15; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Duration"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else if(dwIndex==3) - { - psci->scid.fmtid=FMTID_DocSummaryInformation; - psci->scid.pid=PIDDSI_CATEGORY; - psci->vt=VT_LPWSTR; - psci->cChars=20; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Category"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else if(dwIndex==4) - { - psci->scid.fmtid=FMTID_MythTVInformation; - psci->scid.pid=PIDMT_CHANNEL; - psci->vt=VT_LPWSTR; - psci->cChars=20; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Channel"); - lstrcpyW(psci->wszDescription,L"Displays the name of the channel the file was recorded on"); - return S_OK; - } - else if(dwIndex==5) - { - psci->scid.fmtid=FMTID_MythTVInformation; - psci->scid.pid=PIDMT_SUBTITLE; - psci->vt=VT_LPWSTR; - psci->cChars=20; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Subtitle"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else if(dwIndex==6) - { - psci->scid.fmtid=FMTID_MythTVInformation; - psci->scid.pid=PIDMT_DESCRIPTION; - psci->vt=VT_LPWSTR; - psci->cChars=20; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Description"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else if(dwIndex==7) - { - psci->scid.fmtid=FMTID_MythTVInformation; - psci->scid.pid=PIDMT_RECGROUP; - psci->vt=VT_LPWSTR; - psci->cChars=20; - psci->csFlags=SHCOLSTATE_TYPE_STR; - lstrcpyW(psci->wszTitle,L"Recording group"); - lstrcpyW(psci->wszDescription,L""); - return S_OK; - } - else - { - return S_FALSE; - } -} - -HRESULT CNuvColHandler::GetItemData(LPCSHCOLUMNID pscid, LPCSHCOLUMNDATA pscd, VARIANT *pvarData) -{ - ATLTRACE(_T("%s(%d) : CNuvProps::GetItemData\n"),__FILE__,__LINE__); - //only process .nuv and .mpg files - if(CAtlString(CW2A(pscd->pwszExt)).Right(4)!=".nuv" && - CAtlString(CW2A(pscd->pwszExt)).Right(4)!=".mpg") - { - return S_FALSE; - } - - CAtlString ErrMsg; - CNuvInfo::CFileInfo info; - m_FileInfo.GetInfo(CAtlString(pscd->wszFile),info,pscd->dwFlags&SHCDF_UPDATEITEM); - - if(!info.m_bProgramInfoLoaded && !info.m_bFileInfoLoaded) - { - return S_FALSE; - } - if(info.m_bProgramInfoLoaded) - { - if(pscid->fmtid==FMTID_SummaryInformation) - { - if(pscid->pid==PIDSI_TITLE) - { - CComVariant var; - var=CComBSTR(info.m_ProgramInfo.m_title); - var.Detach(pvarData); - return S_OK; - } - } - else if(pscid->fmtid==FMTID_DocSummaryInformation) - { - if(pscid->pid==PIDDSI_CATEGORY) - { - CComVariant var; - var=CComBSTR(info.m_ProgramInfo.m_category); - var.Detach(pvarData); - return S_OK; - } - } - else if(pscid->fmtid==FMTID_MythTVInformation) - { - if(pscid->pid==PIDMT_CHANNEL) - { - CComVariant var; - var=CComBSTR(info.m_ProgramInfo.m_channame); - var.Detach(pvarData); - return S_OK; - } - else if(pscid->pid==PIDMT_SUBTITLE) - { - CComVariant var; - var=CComBSTR(info.m_ProgramInfo.m_subtitle); - var.Detach(pvarData); - return S_OK; - } - else if(pscid->pid==PIDMT_DESCRIPTION) - { - CComVariant var; - var=CComBSTR(info.m_ProgramInfo.m_description); - var.Detach(pvarData); - return S_OK; - } - else if(pscid->pid==PIDMT_RECGROUP) - { - CComVariant var; - var=CComBSTR(info.m_ProgramInfo.m_recgroup); - var.Detach(pvarData); - return S_OK; - } - } - } - - if(info.m_bFileInfoLoaded) - { - if(pscid->fmtid==FMTID_ImageSummaryInformation) - { - if(pscid->pid==0xd) - { - CComVariant var; - CAtlString tmp; - tmp.Format(_T("%d x %d"),info.m_rtFileHeader.width,info.m_rtFileHeader.height); - var=tmp; - var.Detach(pvarData); - return S_OK; - } - } - else if(pscid->fmtid==FMTID_AudioSummaryInformation) - { - if(pscid->pid==PIDASI_TIMELENGTH) - { - if(info.m_bUsingExtendedData && info.m_bHasLength) - { - pvarData->vt=VT_UI8; - pvarData->ullVal=(ULONGLONG)info.m_TotalLength*10000000; - return S_OK; - } - } - } - } - return S_FALSE; -} Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp (from rev 549, trunk/MythTVReader/NuvPropPage/NuvColHandler.cpp) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.cpp 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,258 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file NuvColHandler.cpp Implementation of CNuvColHandler + */ + +#include "stdafx.h" +#include "NuvColHandler.h" +#include "custprops.h" + +// CNuvColHandler +CNuvColHandler::CNuvColHandler() +{ + +} + +HRESULT CNuvColHandler::FinalConstruct() +{ + ATLTRACE(_T("%s(%d) : CNuvProps::FinalConstruct\n"),__FILE__,__LINE__); + return S_OK; +} + +void CNuvColHandler::FinalRelease() +{ + ATLTRACE(_T("%s(%d) : CNuvProps::FinalRelease\n"),__FILE__,__LINE__); +} + +HRESULT CNuvColHandler::Initialize(LPCSHCOLUMNINIT psci) +{ + ATLTRACE(_T("%s(%d) : CNuvProps::Initialize\n"),__FILE__,__LINE__); + m_Folder=psci->wszFolder; + //clear cache when changing folder + //probably not necessary + //m_FileInfo.ClearCache(); + return S_OK; +} + +HRESULT CNuvColHandler::GetColumnInfo(DWORD dwIndex, SHCOLUMNINFO *psci) +{ + ATLTRACE(_T("%s(%d) : CNuvProps::GetColumnInfo\n"),__FILE__,__LINE__); + if(psci==NULL) + { + return E_POINTER; + } + if(dwIndex==0) + { + psci->scid.fmtid=FMTID_SummaryInformation; + psci->scid.pid=PIDSI_TITLE; + psci->vt=VT_BSTR; + psci->cChars=15; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Title"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else if(dwIndex==1) + { + psci->scid.fmtid=FMTID_ImageSummaryInformation; + psci->scid.pid=0xd; + psci->vt=VT_BSTR; + psci->cChars=10; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Dimensions"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else if(dwIndex==2) + { + psci->scid.fmtid=FMTID_AudioSummaryInformation; + psci->scid.pid=PIDASI_TIMELENGTH; + psci->vt=VT_LPWSTR; + psci->cChars=15; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Duration"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else if(dwIndex==3) + { + psci->scid.fmtid=FMTID_DocSummaryInformation; + psci->scid.pid=PIDDSI_CATEGORY; + psci->vt=VT_LPWSTR; + psci->cChars=20; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Category"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else if(dwIndex==4) + { + psci->scid.fmtid=FMTID_MythTVInformation; + psci->scid.pid=PIDMT_CHANNEL; + psci->vt=VT_LPWSTR; + psci->cChars=20; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Channel"); + lstrcpyW(psci->wszDescription,L"Displays the name of the channel the file was recorded on"); + return S_OK; + } + else if(dwIndex==5) + { + psci->scid.fmtid=FMTID_MythTVInformation; + psci->scid.pid=PIDMT_SUBTITLE; + psci->vt=VT_LPWSTR; + psci->cChars=20; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Subtitle"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else if(dwIndex==6) + { + psci->scid.fmtid=FMTID_MythTVInformation; + psci->scid.pid=PIDMT_DESCRIPTION; + psci->vt=VT_LPWSTR; + psci->cChars=20; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Description"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else if(dwIndex==7) + { + psci->scid.fmtid=FMTID_MythTVInformation; + psci->scid.pid=PIDMT_RECGROUP; + psci->vt=VT_LPWSTR; + psci->cChars=20; + psci->csFlags=SHCOLSTATE_TYPE_STR; + lstrcpyW(psci->wszTitle,L"Recording group"); + lstrcpyW(psci->wszDescription,L""); + return S_OK; + } + else + { + return S_FALSE; + } +} + +HRESULT CNuvColHandler::GetItemData(LPCSHCOLUMNID pscid, LPCSHCOLUMNDATA pscd, VARIANT *pvarData) +{ + ATLTRACE(_T("%s(%d) : CNuvProps::GetItemData\n"),__FILE__,__LINE__); + //only process .nuv and .mpg files + if(CAtlString(CW2A(pscd->pwszExt)).Right(4)!=".nuv" && + CAtlString(CW2A(pscd->pwszExt)).Right(4)!=".mpg") + { + return S_FALSE; + } + + CAtlString ErrMsg; + CNuvInfo::CFileInfo info; + m_FileInfo.GetInfo(CAtlString(pscd->wszFile),info,pscd->dwFlags&SHCDF_UPDATEITEM); + + if(!info.m_bProgramInfoLoaded && !info.m_bFileInfoLoaded) + { + return S_FALSE; + } + if(info.m_bProgramInfoLoaded) + { + if(pscid->fmtid==FMTID_SummaryInformation) + { + if(pscid->pid==PIDSI_TITLE) + { + CComVariant var; + var=CComBSTR(info.m_ProgramInfo.m_title); + var.Detach(pvarData); + return S_OK; + } + } + else if(pscid->fmtid==FMTID_DocSummaryInformation) + { + if(pscid->pid==PIDDSI_CATEGORY) + { + CComVariant var; + var=CComBSTR(info.m_ProgramInfo.m_category); + var.Detach(pvarData); + return S_OK; + } + } + else if(pscid->fmtid==FMTID_MythTVInformation) + { + if(pscid->pid==PIDMT_CHANNEL) + { + CComVariant var; + var=CComBSTR(info.m_ProgramInfo.m_channame); + var.Detach(pvarData); + return S_OK; + } + else if(pscid->pid==PIDMT_SUBTITLE) + { + CComVariant var; + var=CComBSTR(info.m_ProgramInfo.m_subtitle); + var.Detach(pvarData); + return S_OK; + } + else if(pscid->pid==PIDMT_DESCRIPTION) + { + CComVariant var; + var=CComBSTR(info.m_ProgramInfo.m_description); + var.Detach(pvarData); + return S_OK; + } + else if(pscid->pid==PIDMT_RECGROUP) + { + CComVariant var; + var=CComBSTR(info.m_ProgramInfo.m_recgroup); + var.Detach(pvarData); + return S_OK; + } + } + } + + if(info.m_bFileInfoLoaded) + { + if(pscid->fmtid==FMTID_ImageSummaryInformation) + { + if(pscid->pid==0xd) + { + CComVariant var; + CAtlString tmp; + tmp.Format(_T("%d x %d"),info.m_rtFileHeader.width,info.m_rtFileHeader.height); + var=tmp; + var.Detach(pvarData); + return S_OK; + } + } + else if(pscid->fmtid==FMTID_AudioSummaryInformation) + { + if(pscid->pid==PIDASI_TIMELENGTH) + { + if(info.m_bUsingExtendedData && info.m_bHasLength) + { + pvarData->vt=VT_UI8; + pvarData->ullVal=(ULONGLONG)info.m_TotalLength*10000000; + return S_OK; + } + } + } + } + return S_FALSE; +} Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvColHandler.h 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h 2007-07-15 12:35:40 UTC (rev 550) @@ -1,70 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file NuvColHandler.h Declaration of the CNuvColHandler - */ - -#pragma once -#include "resource.h" // main symbols - -#include "NuvPropPage.h" -#include "..\common\NuvInfo.h" - -/** - * A column extension handler. - * This class add information from the nuv file and the mysql database to the - * columns i explorer. - * To be able to use the existing column headers the correct - * propertyset format id and property id. The problem is that they are very badly - * documented in the platform sdk, only the summary information property set is well documented. - */ -class ATL_NO_VTABLE CNuvColHandler : - public CComObjectRootEx<CComSingleThreadModel>, - public CComCoClass<CNuvColHandler, &CLSID_NuvColHandler>, - public IColumnProvider -{ -public: - CNuvColHandler(); - -DECLARE_REGISTRY_RESOURCEID(IDR_NUVCOLHANDLER) - - -BEGIN_COM_MAP(CNuvColHandler) - COM_INTERFACE_ENTRY_IID(IID_IColumnProvider,IColumnProvider) -END_COM_MAP() - - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct(); - void FinalRelease(); - -//IColumnProvider - STDMETHOD(Initialize)(LPCSHCOLUMNINIT psci); - STDMETHOD(GetColumnInfo)(DWORD dwIndex, SHCOLUMNINFO *psci); - STDMETHOD(GetItemData)(LPCSHCOLUMNID pscid, LPCSHCOLUMNDATA pscd, VARIANT *pvarData); - -private: - CNuvInfo m_FileInfo; - CAtlStringW m_Folder; -}; - -OBJECT_ENTRY_AUTO(__uuidof(NuvColHandler), CNuvColHandler) Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h (from rev 549, trunk/MythTVReader/NuvPropPage/NuvColHandler.h) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.h 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,70 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file NuvColHandler.h Declaration of the CNuvColHandler + */ + +#pragma once +#include "resource.h" // main symbols + +#include "NuvPropPage.h" +#include "..\common\NuvInfo.h" + +/** + * A column extension handler. + * This class add information from the nuv file and the mysql database to the + * columns i explorer. + * To be able to use the existing column headers the correct + * propertyset format id and property id. The problem is that they are very badly + * documented in the platform sdk, only the summary information property set is well documented. + */ +class ATL_NO_VTABLE CNuvColHandler : + public CComObjectRootEx<CComSingleThreadModel>, + public CComCoClass<CNuvColHandler, &CLSID_NuvColHandler>, + public IColumnProvider +{ +public: + CNuvColHandler(); + +DECLARE_REGISTRY_RESOURCEID(IDR_NUVCOLHANDLER) + + +BEGIN_COM_MAP(CNuvColHandler) + COM_INTERFACE_ENTRY_IID(IID_IColumnProvider,IColumnProvider) +END_COM_MAP() + + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct(); + void FinalRelease(); + +//IColumnProvider + STDMETHOD(Initialize)(LPCSHCOLUMNINIT psci); + STDMETHOD(GetColumnInfo)(DWORD dwIndex, SHCOLUMNINFO *psci); + STDMETHOD(GetItemData)(LPCSHCOLUMNID pscid, LPCSHCOLUMNDATA pscd, VARIANT *pvarData); + +private: + CNuvInfo m_FileInfo; + CAtlStringW m_Folder; +}; + +OBJECT_ENTRY_AUTO(__uuidof(NuvColHandler), CNuvColHandler) Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvColHandler.rgs 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs 2007-07-15 12:35:40 UTC (rev 550) @@ -1,36 +0,0 @@ -HKCR -{ - NuvPropPage.NuvColHandler.1 = s 'NuvColHandler Class' - { - CLSID = s '{86F08DD4-907C-4C94-8BBD-F70242A4883F}' - } - NuvPropPage.NuvColHandler = s 'NuvColHandler Class' - { - CLSID = s '{86F08DD4-907C-4C94-8BBD-F70242A4883F}' - CurVer = s 'NuvPropPage.NuvColHandler.1' - } - NoRemove CLSID - { - ForceRemove {86F08DD4-907C-4C94-8BBD-F70242A4883F} = s 'NuvColHandler Class' - { - ProgID = s 'NuvPropPage.NuvColHandler.1' - VersionIndependentProgID = s 'NuvPropPage.NuvColHandler' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - val AppID = s '%APPID%' - 'TypeLib' = s '{A9983193-2815-4899-A4A1-1CBED6AD4655}' - } - } - NoRemove Folder - { - NoRemove shellex - { - NoRemove ColumnHandlers - { - ForceRemove {86F08DD4-907C-4C94-8BBD-F70242A4883F} - } - } - } -} Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs (from rev 549, trunk/MythTVReader/NuvPropPage/NuvColHandler.rgs) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvColHandler.rgs 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,36 @@ +HKCR +{ + NuvPropPage.NuvColHandler.1 = s 'NuvColHandler Class' + { + CLSID = s '{86F08DD4-907C-4C94-8BBD-F70242A4883F}' + } + NuvPropPage.NuvColHandler = s 'NuvColHandler Class' + { + CLSID = s '{86F08DD4-907C-4C94-8BBD-F70242A4883F}' + CurVer = s 'NuvPropPage.NuvColHandler.1' + } + NoRemove CLSID + { + ForceRemove {86F08DD4-907C-4C94-8BBD-F70242A4883F} = s 'NuvColHandler Class' + { + ProgID = s 'NuvPropPage.NuvColHandler.1' + VersionIndependentProgID = s 'NuvPropPage.NuvColHandler' + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + val AppID = s '%APPID%' + 'TypeLib' = s '{A9983193-2815-4899-A4A1-1CBED6AD4655}' + } + } + NoRemove Folder + { + NoRemove shellex + { + NoRemove ColumnHandlers + { + ForceRemove {86F08DD4-907C-4C94-8BBD-F70242A4883F} + } + } + } +} Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvDBProps.cpp 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp 2007-07-15 12:35:40 UTC (rev 550) @@ -1,244 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file NuvDBProps.cpp Implementation of CNuvDBProps - */ - -#include "stdafx.h" -#include "NuvDBProps.h" -#include "DBUtils.h" - -// CNuvDBProps -CNuvDBProps::CNuvDBProps() -:m_bMultipleFiles(false),m_hRegKey(NULL) -{ - -} - -HRESULT CNuvDBProps::FinalConstruct() -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::FinalConstruct\n"),__FILE__,__LINE__); - return S_OK; -} - -void CNuvDBProps::FinalRelease() -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::FinalRelease\n"),__FILE__,__LINE__); - RegCloseKey(m_hRegKey); - m_hRegKey=NULL; -} - -HRESULT CNuvDBProps::Initialize(LPCITEMIDLIST pIDFolder,IDataObject *pDataObj,HKEY hkeyProgID) -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::Initialize\n"),__FILE__,__LINE__); - //Store the PIDL. - if(pIDFolder) - { - m_pIDFolder=pIDFolder; - } - - // If Initialize has already been called, release the old - // IDataObject pointer. - if(m_pDataObj) - { - m_pDataObj=NULL; - } - - // If a data object pointer was passed in, save it and - // extract the file name. - if(pDataObj) - { - m_pDataObj=pDataObj; - - STGMEDIUM medium; - FORMATETC fe={CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; - UINT uCount; - - if(SUCCEEDED(m_pDataObj->GetData(&fe, &medium))) - { - // Get the count of files dropped. - uCount=DragQueryFile((HDROP)medium.hGlobal, (UINT)-1, NULL, 0); - if(uCount>1) - { - m_bMultipleFiles=true; - } - - // Get the first file name from the CF_HDROP. - if(uCount) - { - DragQueryFile((HDROP)medium.hGlobal, 0, m_szFile,sizeof(m_szFile)/sizeof(TCHAR)); - } - - ReleaseStgMedium(&medium); - } - } - - // Duplicate the registry handle. - if(hkeyProgID) - { - RegOpenKeyEx(hkeyProgID,NULL,0L,MAXIMUM_ALLOWED,&m_hRegKey); - } - return S_OK; -} - -HRESULT CNuvDBProps::AddPages(LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::AddPages\n"),__FILE__,__LINE__); - //can only handle one file at a time - if(m_bMultipleFiles) - { - return E_FAIL; - } - - PROPSHEETPAGE psp; - HPROPSHEETPAGE hPage; - - psp.dwSize=sizeof(psp); - psp.dwFlags=PSP_USECALLBACK; - psp.hInstance=g_hInst; - psp.pszTemplate=MAKEINTRESOURCE(IDD_DBINFO); - psp.hIcon=0; - psp.pfnDlgProc=DlgProc; - psp.pfnCallback=PropSheetPageProc; - psp.lParam=(LPARAM)this; - - hPage=CreatePropertySheetPage(&psp); - - if(hPage) - { - if(pfnAddPage(hPage,lParam)) - { - this->AddRef(); - return S_OK; - } - else - { - DestroyPropertySheetPage(hPage); - } - } - else - { - return E_OUTOFMEMORY; - } - return E_FAIL; -} - -HRESULT CNuvDBProps::ReplacePage(EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam) -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::ReplacePage\n"),__FILE__,__LINE__); - return E_NOTIMPL; -} - -UINT CNuvDBProps::PropSheetPageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp) -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::PropSheetPageProc\n"),__FILE__,__LINE__); - return ((CNuvDBProps*)ppsp->lParam)->PageProc(hwnd,uMsg,ppsp); -} - -UINT CNuvDBProps::PageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp) -{ - switch(uMsg) - { - case PSPCB_CREATE: - return 1; - break; - case PSPCB_RELEASE: - this->Release(); - break; - } - return 0; -} - -INT_PTR CNuvDBProps::DlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam) -{ - ATLTRACE(_T("%s(%d) : CNuvDBProps::PropSheetPageProc\n"),__FILE__,__LINE__); - static CNuvDBProps* pThis=NULL; - if(uMessage==WM_INITDIALOG) - { - pThis=(CNuvDBProps*)((LPPROPSHEETPAGE)lParam)->lParam; - } - if(pThis!=NULL) - { - return pThis->NuvPageDlgProc(hDlg,uMessage,wParam,lParam); - } - else - { - return FALSE; - } -} - -INT_PTR CNuvDBProps::NuvPageDlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam) -{ - switch(uMessage) - { - case WM_INITDIALOG: - UpdateDialog(hDlg); - return TRUE; - break; - } - return FALSE; -} - -void CNuvDBProps::UpdateDialog(HWND hDlg) -{ - SetDlgItemText(hDlg,IDC_DBINFO_TITLE,""); - SetDlgItemText(hDlg,IDC_DBINFO_SUBTITLE,""); - SetDlgItemText(hDlg,IDC_DBINFO_CATEGORY,""); - SetDlgItemText(hDlg,IDC_DBINFO_STARTTIME,""); - SetDlgItemText(hDlg,IDC_DBINFO_LENGTH,""); - SetDlgItemText(hDlg,IDC_DBINFO_DESCRIPTION,""); - SetDlgItemText(hDlg,IDC_DBINFO_CHANNEL,""); - - CDBUtils dbutil; - if(!dbutil.IsMysqlEnabled()) - { - SetDlgItemText(hDlg,IDC_DBINFO_STATUS,"MySQL support is not enabled. Use configuration program to enable it"); - return; - } - - CAtlString ErrorMsg; - CNuvInfo::CFileInfo info; - m_FileInfo.GetInfo(m_szFile,info); - if(!info.m_bProgramInfoLoaded) - { - //show error - SetDlgItemText(hDlg,IDC_DBINFO_STATUS,info.m_ProgramInfoErrorMsg); - return; - } - - CAtlString oldlocale=setlocale(LC_ALL,NULL); - setlocale(LC_ALL,""); - - SetDlgItemText(hDlg,IDC_DBINFO_STATUS,info.m_ProgramInfoErrorMsg); - - SetDlgItemText(hDlg,IDC_DBINFO_TITLE,CW2A(info.m_ProgramInfo.m_title.GetBuffer())); - SetDlgItemText(hDlg,IDC_DBINFO_SUBTITLE,CW2A(info.m_ProgramInfo.m_subtitle.GetBuffer())); - SetDlgItemText(hDlg,IDC_DBINFO_CATEGORY,CW2A(info.m_ProgramInfo.m_category.GetBuffer())); - SetDlgItemText(hDlg,IDC_DBINFO_STARTTIME,(LPCSTR)info.m_ProgramInfo.m_recstartts.Format("%c")); - - CTimeSpan length=info.m_ProgramInfo.m_recendts-info.m_ProgramInfo.m_recstartts; - CAtlString format=length.GetDays()>0 ? "%D %H:%M:%S" : "%H:%M:%S"; - SetDlgItemText(hDlg,IDC_DBINFO_LENGTH,(LPCSTR)length.Format(format)); - SetDlgItemText(hDlg,IDC_DBINFO_DESCRIPTION,CW2A(info.m_ProgramInfo.m_description.GetBuffer())); - SetDlgItemText(hDlg,IDC_DBINFO_CHANNEL,CW2A(info.m_ProgramInfo.m_channame.GetBuffer())); - - setlocale(LC_ALL,oldlocale); -} \ No newline at end of file Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp (from rev 549, trunk/MythTVReader/NuvPropPage/NuvDBProps.cpp) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.cpp 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,244 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file NuvDBProps.cpp Implementation of CNuvDBProps + */ + +#include "stdafx.h" +#include "NuvDBProps.h" +#include "DBUtils.h" + +// CNuvDBProps +CNuvDBProps::CNuvDBProps() +:m_bMultipleFiles(false),m_hRegKey(NULL) +{ + +} + +HRESULT CNuvDBProps::FinalConstruct() +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::FinalConstruct\n"),__FILE__,__LINE__); + return S_OK; +} + +void CNuvDBProps::FinalRelease() +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::FinalRelease\n"),__FILE__,__LINE__); + RegCloseKey(m_hRegKey); + m_hRegKey=NULL; +} + +HRESULT CNuvDBProps::Initialize(LPCITEMIDLIST pIDFolder,IDataObject *pDataObj,HKEY hkeyProgID) +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::Initialize\n"),__FILE__,__LINE__); + //Store the PIDL. + if(pIDFolder) + { + m_pIDFolder=pIDFolder; + } + + // If Initialize has already been called, release the old + // IDataObject pointer. + if(m_pDataObj) + { + m_pDataObj=NULL; + } + + // If a data object pointer was passed in, save it and + // extract the file name. + if(pDataObj) + { + m_pDataObj=pDataObj; + + STGMEDIUM medium; + FORMATETC fe={CF_HDROP, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL}; + UINT uCount; + + if(SUCCEEDED(m_pDataObj->GetData(&fe, &medium))) + { + // Get the count of files dropped. + uCount=DragQueryFile((HDROP)medium.hGlobal, (UINT)-1, NULL, 0); + if(uCount>1) + { + m_bMultipleFiles=true; + } + + // Get the first file name from the CF_HDROP. + if(uCount) + { + DragQueryFile((HDROP)medium.hGlobal, 0, m_szFile,sizeof(m_szFile)/sizeof(TCHAR)); + } + + ReleaseStgMedium(&medium); + } + } + + // Duplicate the registry handle. + if(hkeyProgID) + { + RegOpenKeyEx(hkeyProgID,NULL,0L,MAXIMUM_ALLOWED,&m_hRegKey); + } + return S_OK; +} + +HRESULT CNuvDBProps::AddPages(LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam) +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::AddPages\n"),__FILE__,__LINE__); + //can only handle one file at a time + if(m_bMultipleFiles) + { + return E_FAIL; + } + + PROPSHEETPAGE psp; + HPROPSHEETPAGE hPage; + + psp.dwSize=sizeof(psp); + psp.dwFlags=PSP_USECALLBACK; + psp.hInstance=g_hInst; + psp.pszTemplate=MAKEINTRESOURCE(IDD_DBINFO); + psp.hIcon=0; + psp.pfnDlgProc=DlgProc; + psp.pfnCallback=PropSheetPageProc; + psp.lParam=(LPARAM)this; + + hPage=CreatePropertySheetPage(&psp); + + if(hPage) + { + if(pfnAddPage(hPage,lParam)) + { + this->AddRef(); + return S_OK; + } + else + { + DestroyPropertySheetPage(hPage); + } + } + else + { + return E_OUTOFMEMORY; + } + return E_FAIL; +} + +HRESULT CNuvDBProps::ReplacePage(EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam) +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::ReplacePage\n"),__FILE__,__LINE__); + return E_NOTIMPL; +} + +UINT CNuvDBProps::PropSheetPageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp) +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::PropSheetPageProc\n"),__FILE__,__LINE__); + return ((CNuvDBProps*)ppsp->lParam)->PageProc(hwnd,uMsg,ppsp); +} + +UINT CNuvDBProps::PageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp) +{ + switch(uMsg) + { + case PSPCB_CREATE: + return 1; + break; + case PSPCB_RELEASE: + this->Release(); + break; + } + return 0; +} + +INT_PTR CNuvDBProps::DlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam) +{ + ATLTRACE(_T("%s(%d) : CNuvDBProps::PropSheetPageProc\n"),__FILE__,__LINE__); + static CNuvDBProps* pThis=NULL; + if(uMessage==WM_INITDIALOG) + { + pThis=(CNuvDBProps*)((LPPROPSHEETPAGE)lParam)->lParam; + } + if(pThis!=NULL) + { + return pThis->NuvPageDlgProc(hDlg,uMessage,wParam,lParam); + } + else + { + return FALSE; + } +} + +INT_PTR CNuvDBProps::NuvPageDlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam) +{ + switch(uMessage) + { + case WM_INITDIALOG: + UpdateDialog(hDlg); + return TRUE; + break; + } + return FALSE; +} + +void CNuvDBProps::UpdateDialog(HWND hDlg) +{ + SetDlgItemText(hDlg,IDC_DBINFO_TITLE,""); + SetDlgItemText(hDlg,IDC_DBINFO_SUBTITLE,""); + SetDlgItemText(hDlg,IDC_DBINFO_CATEGORY,""); + SetDlgItemText(hDlg,IDC_DBINFO_STARTTIME,""); + SetDlgItemText(hDlg,IDC_DBINFO_LENGTH,""); + SetDlgItemText(hDlg,IDC_DBINFO_DESCRIPTION,""); + SetDlgItemText(hDlg,IDC_DBINFO_CHANNEL,""); + + CDBUtils dbutil; + if(!dbutil.IsMysqlEnabled()) + { + SetDlgItemText(hDlg,IDC_DBINFO_STATUS,"MySQL support is not enabled. Use configuration program to enable it"); + return; + } + + CAtlString ErrorMsg; + CNuvInfo::CFileInfo info; + m_FileInfo.GetInfo(m_szFile,info); + if(!info.m_bProgramInfoLoaded) + { + //show error + SetDlgItemText(hDlg,IDC_DBINFO_STATUS,info.m_ProgramInfoErrorMsg); + return; + } + + CAtlString oldlocale=setlocale(LC_ALL,NULL); + setlocale(LC_ALL,""); + + SetDlgItemText(hDlg,IDC_DBINFO_STATUS,info.m_ProgramInfoErrorMsg); + + SetDlgItemText(hDlg,IDC_DBINFO_TITLE,CW2A(info.m_ProgramInfo.m_title.GetBuffer())); + SetDlgItemText(hDlg,IDC_DBINFO_SUBTITLE,CW2A(info.m_ProgramInfo.m_subtitle.GetBuffer())); + SetDlgItemText(hDlg,IDC_DBINFO_CATEGORY,CW2A(info.m_ProgramInfo.m_category.GetBuffer())); + SetDlgItemText(hDlg,IDC_DBINFO_STARTTIME,(LPCSTR)info.m_ProgramInfo.m_startts.Format("%c")); + + CTimeSpan length=info.m_ProgramInfo.m_endts-info.m_ProgramInfo.m_startts; + CAtlString format=length.GetDays()>0 ? "%D %H:%M:%S" : "%H:%M:%S"; + SetDlgItemText(hDlg,IDC_DBINFO_LENGTH,(LPCSTR)length.Format(format)); + SetDlgItemText(hDlg,IDC_DBINFO_DESCRIPTION,CW2A(info.m_ProgramInfo.m_description.GetBuffer())); + SetDlgItemText(hDlg,IDC_DBINFO_CHANNEL,CW2A(info.m_ProgramInfo.m_channame.GetBuffer())); + + setlocale(LC_ALL,oldlocale); +} \ No newline at end of file Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvDBProps.h 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h 2007-07-15 12:35:40 UTC (rev 550) @@ -1,83 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file NuvDBProps.h Declaration of the CNuvDBProps - */ - -#pragma once -#include "resource.h" // main symbols - -#include "NuvPropPage.h" -#include "NuvInfo.h" - -extern HINSTANCE g_hInst; - -// CNuvDBProps - -class ATL_NO_VTABLE CNuvDBProps : - public CComObjectRootEx<CComSingleThreadModel>, - public CComCoClass<CNuvDBProps, &CLSID_NuvDBProps>, - public IShellExtInit, - public IShellPropSheetExt -{ -public: - CNuvDBProps(); - -DECLARE_REGISTRY_RESOURCEID(IDR_NUVDBPROPS) - - -BEGIN_COM_MAP(CNuvDBProps) - COM_INTERFACE_ENTRY(IShellExtInit) - COM_INTERFACE_ENTRY(IShellPropSheetExt) -END_COM_MAP() - - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct(); - void FinalRelease(); - -//IShellExtInit - STDMETHOD(Initialize)(LPCITEMIDLIST pIDFolder,IDataObject *pDataObj,HKEY hkeyProgID); - -//IShellPropSheetExt - STDMETHOD(AddPages)(LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam); - STDMETHOD(ReplacePage)(EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam); - - static UINT CALLBACK PropSheetPageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp); - UINT PageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp); - - static INT_PTR CALLBACK DlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam); - INT_PTR CALLBACK NuvPageDlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam); - -private: - LPCITEMIDLIST m_pIDFolder; //The folder's PIDL - TCHAR m_szFile[MAX_PATH]; //The file name - CComPtr<IDataObject> m_pDataObj; //The IDataObject pointer - HKEY m_hRegKey; //The file or folder's registry - bool m_bMultipleFiles; - - CNuvInfo m_FileInfo; - - void UpdateDialog(HWND hDlg); -}; - -OBJECT_ENTRY_AUTO(__uuidof(NuvDBProps), CNuvDBProps) Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h (from rev 549, trunk/MythTVReader/NuvPropPage/NuvDBProps.h) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.h 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,83 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2003 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file NuvDBProps.h Declaration of the CNuvDBProps + */ + +#pragma once +#include "resource.h" // main symbols + +#include "NuvPropPage.h" +#include "NuvInfo.h" + +extern HINSTANCE g_hInst; + +// CNuvDBProps + +class ATL_NO_VTABLE CNuvDBProps : + public CComObjectRootEx<CComSingleThreadModel>, + public CComCoClass<CNuvDBProps, &CLSID_NuvDBProps>, + public IShellExtInit, + public IShellPropSheetExt +{ +public: + CNuvDBProps(); + +DECLARE_REGISTRY_RESOURCEID(IDR_NUVDBPROPS) + + +BEGIN_COM_MAP(CNuvDBProps) + COM_INTERFACE_ENTRY(IShellExtInit) + COM_INTERFACE_ENTRY(IShellPropSheetExt) +END_COM_MAP() + + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct(); + void FinalRelease(); + +//IShellExtInit + STDMETHOD(Initialize)(LPCITEMIDLIST pIDFolder,IDataObject *pDataObj,HKEY hkeyProgID); + +//IShellPropSheetExt + STDMETHOD(AddPages)(LPFNSVADDPROPSHEETPAGE pfnAddPage,LPARAM lParam); + STDMETHOD(ReplacePage)(EXPPS uPageID,LPFNSVADDPROPSHEETPAGE pfnReplaceWith,LPARAM lParam); + + static UINT CALLBACK PropSheetPageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp); + UINT PageProc(HWND hwnd,UINT uMsg,LPPROPSHEETPAGE ppsp); + + static INT_PTR CALLBACK DlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam); + INT_PTR CALLBACK NuvPageDlgProc(HWND hDlg,UINT uMessage,WPARAM wParam,LPARAM lParam); + +private: + LPCITEMIDLIST m_pIDFolder; //The folder's PIDL + TCHAR m_szFile[MAX_PATH]; //The file name + CComPtr<IDataObject> m_pDataObj; //The IDataObject pointer + HKEY m_hRegKey; //The file or folder's registry + bool m_bMultipleFiles; + + CNuvInfo m_FileInfo; + + void UpdateDialog(HWND hDlg); +}; + +OBJECT_ENTRY_AUTO(__uuidof(NuvDBProps), CNuvDBProps) Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvDBProps.rgs 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs 2007-07-15 12:35:40 UTC (rev 550) @@ -1,26 +0,0 @@ -HKCR -{ - NuvPropPage.NuvDBProps.1 = s 'NuvDBProps Class' - { - CLSID = s '{E6118413-72FC-4FAD-9953-5BE30CFCE358}' - } - NuvPropPage.NuvDBProps = s 'NuvDBProps Class' - { - CLSID = s '{E6118413-72FC-4FAD-9953-5BE30CFCE358}' - CurVer = s 'NuvPropPage.NuvDBProps.1' - } - NoRemove CLSID - { - ForceRemove {E6118413-72FC-4FAD-9953-5BE30CFCE358} = s 'NuvDBProps Class' - { - ProgID = s 'NuvPropPage.NuvDBProps.1' - VersionIndependentProgID = s 'NuvPropPage.NuvDBProps' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - val AppID = s '%APPID%' - 'TypeLib' = s '{A9983193-2815-4899-A4A1-1CBED6AD4655}' - } - } -} Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs (from rev 549, trunk/MythTVReader/NuvPropPage/NuvDBProps.rgs) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvDBProps.rgs 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,26 @@ +HKCR +{ + NuvPropPage.NuvDBProps.1 = s 'NuvDBProps Class' + { + CLSID = s '{E6118413-72FC-4FAD-9953-5BE30CFCE358}' + } + NuvPropPage.NuvDBProps = s 'NuvDBProps Class' + { + CLSID = s '{E6118413-72FC-4FAD-9953-5BE30CFCE358}' + CurVer = s 'NuvPropPage.NuvDBProps.1' + } + NoRemove CLSID + { + ForceRemove {E6118413-72FC-4FAD-9953-5BE30CFCE358} = s 'NuvDBProps Class' + { + ProgID = s 'NuvPropPage.NuvDBProps.1' + VersionIndependentProgID = s 'NuvPropPage.NuvDBProps' + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + val AppID = s '%APPID%' + 'TypeLib' = s '{A9983193-2815-4899-A4A1-1CBED6AD4655}' + } + } +} Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvPropPage.cpp 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp 2007-07-15 12:35:40 UTC (rev 550) @@ -1,54 +0,0 @@ -// NuvPropPage.cpp : Implementation of DLL Exports. - -#include "stdafx.h" -#include "resource.h" -#include "NuvPropPage.h" - -class CNuvPropPageModule : public CAtlDllModuleT< CNuvPropPageModule > -{ -public : - DECLARE_LIBID(LIBID_NuvPropPageLib) - DECLARE_REGISTRY_APPID_RESOURCEID(IDR_NUVPROPPAGE, "{4CF486CE-C2CD-4EEA-B446-510156C05A0F}") -}; - -CNuvPropPageModule _AtlModule; - -HINSTANCE g_hInst=NULL; - -// DLL Entry Point -extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) -{ - g_hInst=hInstance; - return _AtlModule.DllMain(dwReason, lpReserved); -} - - -// Used to determine whether the DLL can be unloaded by OLE -STDAPI DllCanUnloadNow(void) -{ - return _AtlModule.DllCanUnloadNow(); -} - - -// Returns a class factory to create an object of the requested type -STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) -{ - return _AtlModule.DllGetClassObject(rclsid, riid, ppv); -} - - -// DllRegisterServer - Adds entries to the system registry -STDAPI DllRegisterServer(void) -{ - // registers object, typelib and all interfaces in typelib - HRESULT hr = _AtlModule.DllRegisterServer(); - return hr; -} - - -// DllUnregisterServer - Removes entries from the system registry -STDAPI DllUnregisterServer(void) -{ - HRESULT hr = _AtlModule.DllUnregisterServer(); - return hr; -} Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp (from rev 549, trunk/MythTVReader/NuvPropPage/NuvPropPage.cpp) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.cpp 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,54 @@ +// NuvPropPage.cpp : Implementation of DLL Exports. + +#include "stdafx.h" +#include "resource.h" +#include "NuvPropPage.h" + +class CNuvPropPageModule : public CAtlDllModuleT< CNuvPropPageModule > +{ +public : + DECLARE_LIBID(LIBID_NuvPropPageLib) + DECLARE_REGISTRY_APPID_RESOURCEID(IDR_NUVPROPPAGE, "{4CF486CE-C2CD-4EEA-B446-510156C05A0F}") +}; + +CNuvPropPageModule _AtlModule; + +HINSTANCE g_hInst=NULL; + +// DLL Entry Point +extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) +{ + g_hInst=hInstance; + return _AtlModule.DllMain(dwReason, lpReserved); +} + + +// Used to determine whether the DLL can be unloaded by OLE +STDAPI DllCanUnloadNow(void) +{ + return _AtlModule.DllCanUnloadNow(); +} + + +// Returns a class factory to create an object of the requested type +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) +{ + return _AtlModule.DllGetClassObject(rclsid, riid, ppv); +} + + +// DllRegisterServer - Adds entries to the system registry +STDAPI DllRegisterServer(void) +{ + // registers object, typelib and all interfaces in typelib + HRESULT hr = _AtlModule.DllRegisterServer(); + return hr; +} + + +// DllUnregisterServer - Removes entries from the system registry +STDAPI DllUnregisterServer(void) +{ + HRESULT hr = _AtlModule.DllUnregisterServer(); + return hr; +} Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvPropPage.def 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def 2007-07-15 12:35:40 UTC (rev 550) @@ -1,9 +0,0 @@ -; NuvPropPage.def : Declares the module parameters. - -LIBRARY "NuvPropPage.DLL" - -EXPORTS - DllCanUnloadNow PRIVATE - DllGetClassObject PRIVATE - DllRegisterServer PRIVATE - DllUnregisterServer PRIVATE Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def (from rev 549, trunk/MythTVReader/NuvPropPage/NuvPropPage.def) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.def 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,9 @@ +; NuvPropPage.def : Declares the module parameters. + +LIBRARY "NuvPropPage.DLL" + +EXPORTS + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl =================================================================== --- trunk/MythTVReader/NuvPropPage/NuvPropPage.idl 2007-07-12 16:19:58 UTC (rev 545) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl 2007-07-15 12:35:40 UTC (rev 550) @@ -1,50 +0,0 @@ -// NuvPropPage.idl : IDL source for NuvPropPage -// - -// This file will be processed by the MIDL tool to -// produce the type library (NuvPropPage.tlb) and marshalling code. - -import "oaidl.idl"; -import "ocidl.idl"; - -[ - uuid(A9983193-2815-4899-A4A1-1CBED6AD4655), - version(1.0), - helpstring("NuvPropPage 1.0 Type Library") -] -library NuvPropPageLib -{ - importlib("stdole2.tlb"); - [ - uuid(825D30CF-C997-420A-96CD-24EEA350F03C), - helpstring("NuvProps Class") - ] - coclass NuvProps - { - [default] interface IUnknown; - }; - [ - uuid(86F08DD4-907C-4C94-8BBD-F70242A4883F), - helpstring("NuvColHandler Class") - ] - coclass NuvColHandler - { - [default] interface IUnknown; - }; - [ - uuid(E6118413-72FC-4FAD-9953-5BE30CFCE358), - helpstring("NuvDBProps Class") - ] - coclass NuvDBProps - { - [default] interface IUnknown; - }; - [ - uuid(0A9A5748-13FB-4F77-8321-3536D94AB86E), - helpstring("NuvToolTip Class") - ] - coclass NuvToolTip - { - [default] interface IUnknown; - }; -}; Copied: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl (from rev 549, trunk/MythTVReader/NuvPropPage/NuvPropPage.idl) =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl (rev 0) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl 2007-07-15 12:35:40 UTC (rev 550) @@ -0,0 +1,50 @@ +// NuvPropPage.idl : IDL source for NuvPropPage +// + +// This file will be processed by the MIDL tool to +// produce the type library (NuvPropPage.tlb) and marshalling code. + +import "oaidl.idl"; +import "ocidl.idl"; + +[ + uuid(A9983193-2815-4899-A4A1-1CBED6AD4655), + version(1.0), + helpstring("NuvPropPage 1.0 Type Library") +] +library NuvPropPageLib +{ + importlib("stdole2.tlb"); + [ + uuid(825D30CF-C997-420A-96CD-24EEA350F03C), + helpstring("NuvProps Class") + ] + coclass NuvProps + { + [default] interface IUnknown; + }; + [ + uuid(86F08DD4-907C-4C94-8BBD-F70242A4883F), + helpstring("NuvColHandler Class") + ] + coclass NuvColHandler + { + [default] interface IUnknown; + }; + [ + uuid(E6118413-72FC-4FAD-9953-5BE30CFCE358), + helpstring("NuvDBProps Class") + ] + coclass NuvDBProps + { + [default] interface IUnknown; + }; + [ + uuid(0A9... [truncated message content] |
From: <to...@us...> - 2007-07-15 13:33:22
|
Revision: 551 http://svn.sourceforge.net/dsmyth/?rev=551&view=rev Author: tobbej Date: 2007-07-15 06:33:20 -0700 (Sun, 15 Jul 2007) Log Message: ----------- Move ToolTip shell extension to it's own project. Modified Paths: -------------- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rc trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.vcproj trunk/MythTVReader/reg-debug.bat trunk/MythTVReader/reg-release.bat Added Paths: ----------- trunk/MythTVReader/Shell/ToolTip/ trunk/MythTVReader/Shell/ToolTip/NuvToolTip.cpp trunk/MythTVReader/Shell/ToolTip/NuvToolTip.h trunk/MythTVReader/Shell/ToolTip/NuvToolTip.rgs trunk/MythTVReader/Shell/ToolTip/Resource.h trunk/MythTVReader/Shell/ToolTip/ToolTip.cpp trunk/MythTVReader/Shell/ToolTip/ToolTip.def trunk/MythTVReader/Shell/ToolTip/ToolTip.idl trunk/MythTVReader/Shell/ToolTip/ToolTip.rc trunk/MythTVReader/Shell/ToolTip/ToolTip.rgs trunk/MythTVReader/Shell/ToolTip/ToolTip.vcproj trunk/MythTVReader/Shell/ToolTip/dlldatax.c trunk/MythTVReader/Shell/ToolTip/dlldatax.h trunk/MythTVReader/Shell/ToolTip/stdafx.cpp trunk/MythTVReader/Shell/ToolTip/stdafx.h Removed Paths: ------------- trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs Modified: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.idl 2007-07-15 13:33:20 UTC (rev 551) @@ -39,12 +39,4 @@ { [default] interface IUnknown; }; - [ - uuid(0A9A5748-13FB-4F77-8321-3536D94AB86E), - helpstring("NuvToolTip Class") - ] - coclass NuvToolTip - { - [default] interface IUnknown; - }; }; Modified: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rc =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rc 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.rc 2007-07-15 13:33:20 UTC (rev 551) @@ -94,7 +94,6 @@ IDR_NUVPROPS REGISTRY "NuvProps.rgs" IDR_NUVCOLHANDLER REGISTRY "NuvColHandler.rgs" IDR_NUVDBPROPS REGISTRY "NuvDBProps.rgs" -IDR_NUVTOOLTIP REGISTRY "NuvToolTip.rgs" ///////////////////////////////////////////////////////////////////////////// // Modified: trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.vcproj =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.vcproj 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvPropPage.vcproj 2007-07-15 13:33:20 UTC (rev 551) @@ -249,10 +249,6 @@ > </File> <File - RelativePath=".\NuvToolTip.cpp" - > - </File> - <File RelativePath="stdafx.cpp" > <FileConfiguration @@ -294,10 +290,6 @@ > </File> <File - RelativePath=".\NuvToolTip.h" - > - </File> - <File RelativePath="Resource.h" > </File> @@ -330,10 +322,6 @@ RelativePath="NuvProps.rgs" > </File> - <File - RelativePath=".\NuvToolTip.rgs" - > - </File> </Filter> <Filter Name="Generated Files" Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp 2007-07-15 13:33:20 UTC (rev 551) @@ -1,137 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2005 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -// NuvToolTip.cpp : Implementation of CNuvToolTip - -#include "stdafx.h" -#include "NuvToolTip.h" - -// CNuvToolTip -CNuvToolTip::CNuvToolTip() -{ -} - -HRESULT CNuvToolTip::FinalConstruct() -{ - return S_OK; -} - -void CNuvToolTip::FinalRelease() -{ -} - -// IPersistFile -HRESULT CNuvToolTip::GetClassID(CLSID *pCLSID) -{ - *pCLSID=CLSID_NuvToolTip; - return S_OK; -} - -HRESULT CNuvToolTip::IsDirty() -{ - return E_NOTIMPL; -} - -HRESULT CNuvToolTip::Load(LPCOLESTR wszFilename, DWORD dwMode) -{ - m_FileName=wszFilename; - return S_OK; -} - -HRESULT CNuvToolTip::Save(LPCOLESTR, BOOL) -{ - return E_NOTIMPL; -} - -HRESULT CNuvToolTip::SaveCompleted(LPCOLESTR) -{ - return E_NOTIMPL; -} - -HRESULT CNuvToolTip::GetCurFile(LPOLESTR*) -{ - return E_NOTIMPL; -} - -// IQueryInfo -HRESULT CNuvToolTip::GetInfoFlags(DWORD*) -{ - return E_NOTIMPL; -} - -HRESULT CNuvToolTip::GetInfoTip(DWORD dwFlags,LPWSTR* ppwszTip) -{ - CComPtr<IMalloc> pMalloc; - HRESULT hr=SHGetMalloc(&pMalloc); - if(FAILED(hr)) - { - return hr; - } - - *ppwszTip=NULL; - - CAtlString oldlocale=setlocale(LC_ALL,NULL); - setlocale(LC_ALL,""); - - CNuvInfo::CFileInfo fileinfo; - m_info.GetInfo(CAtlString(m_FileName.GetBuffer()),fileinfo); - if(fileinfo.m_bProgramInfoLoaded) - { - CAtlStringW tip; - tip="Title: "; - tip+=fileinfo.m_ProgramInfo.m_title; - if(fileinfo.m_ProgramInfo.m_subtitle.GetLength()>0) - { - tip+=": "; - tip+=fileinfo.m_ProgramInfo.m_subtitle; - } - tip+="\n"; - - if(fileinfo.m_ProgramInfo.m_category.GetLength()>0) - { - tip+="Category: "; - tip+=fileinfo.m_ProgramInfo.m_category; - tip+="\n"; - } - - tip+="Recorded at: "; - tip+=fileinfo.m_ProgramInfo.m_startts.Format("%c"); - if(fileinfo.m_ProgramInfo.m_channame.GetLength()>0) - { - tip+=" on "; - tip+=fileinfo.m_ProgramInfo.m_channame; - } - - tip+="\n\n"; - - tip+=fileinfo.m_ProgramInfo.m_description; - setlocale(LC_ALL,oldlocale); - - size_t len=tip.GetLength()+1; - *ppwszTip=(LPWSTR)pMalloc->Alloc(len*sizeof(wchar_t)); - if(ppwszTip==NULL) - { - return E_OUTOFMEMORY; - } - wcscpy_s(*ppwszTip,len,tip.GetBuffer()); - } - - return S_OK; -} \ No newline at end of file Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h 2007-07-15 13:33:20 UTC (rev 551) @@ -1,75 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// $Id$ -///////////////////////////////////////////////////////////////////////////// -// Copyright (c) 2005 Torbj\xF6rn Jansson. All rights reserved. -///////////////////////////////////////////////////////////////////////////// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -///////////////////////////////////////////////////////////////////////////// - -/** - * @file NuvToolTip.h Declaration of the CNuvToolTip - */ - -#pragma once -#include "resource.h" // main symbols - -#include "NuvPropPage.h" -#include "NuvInfo.h" - -/** - * Tool tip shell extension for *.nuv files. - * Works on both mpeg2 and nupplevideo type nuv files (mpeg4/rtjpeg). - * Requires connection to the mysql database for mythtv. - */ -class ATL_NO_VTABLE CNuvToolTip : - public CComObjectRootEx<CComSingleThreadModel>, - public CComCoClass<CNuvToolTip, &CLSID_NuvToolTip>, - public IPersistFile, - public IQueryInfo -{ -public: - CNuvToolTip(); - -DECLARE_REGISTRY_RESOURCEID(IDR_NUVTOOLTIP) - - -BEGIN_COM_MAP(CNuvToolTip) - COM_INTERFACE_ENTRY(IPersistFile) - COM_INTERFACE_ENTRY_IID(IID_IQueryInfo,IQueryInfo) -END_COM_MAP() - - DECLARE_PROTECT_FINAL_CONSTRUCT() - - HRESULT FinalConstruct(); - void FinalRelease() ; - -public: -// IPersistFile - STDMETHOD(GetClassID)(CLSID *pCLSID); - STDMETHOD(IsDirty)(); - STDMETHOD(Load)(LPCOLESTR, DWORD); - STDMETHOD(Save)(LPCOLESTR, BOOL); - STDMETHOD(SaveCompleted)(LPCOLESTR); - STDMETHOD(GetCurFile)(LPOLESTR*); - -// IQueryInfo - STDMETHOD(GetInfoFlags)(DWORD*); - STDMETHOD(GetInfoTip)(DWORD, LPWSTR*); -private: - CAtlStringW m_FileName; - CNuvInfo m_info; -}; - -OBJECT_ENTRY_AUTO(__uuidof(NuvToolTip), CNuvToolTip) Deleted: trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs =================================================================== --- trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs 2007-07-15 13:33:20 UTC (rev 551) @@ -1,26 +0,0 @@ -HKCR -{ - NuvPropPage.NuvToolTip.1 = s 'NuvToolTip Class' - { - CLSID = s '{0A9A5748-13FB-4F77-8321-3536D94AB86E}' - } - NuvPropPage.NuvToolTip = s 'NuvToolTip Class' - { - CLSID = s '{0A9A5748-13FB-4F77-8321-3536D94AB86E}' - CurVer = s 'NuvPropPage.NuvToolTip.1' - } - NoRemove CLSID - { - ForceRemove {0A9A5748-13FB-4F77-8321-3536D94AB86E} = s 'NuvToolTip Class' - { - ProgID = s 'NuvPropPage.NuvToolTip.1' - VersionIndependentProgID = s 'NuvPropPage.NuvToolTip' - InprocServer32 = s '%MODULE%' - { - val ThreadingModel = s 'Apartment' - } - val AppID = s '%APPID%' - 'TypeLib' = s '{A9983193-2815-4899-A4A1-1CBED6AD4655}' - } - } -} Property changes on: trunk/MythTVReader/Shell/ToolTip ___________________________________________________________________ Name: svn:ignore + ToolTip_i.c ToolTip.h Debug Release *.aps dlldata.c *.user Copied: trunk/MythTVReader/Shell/ToolTip/NuvToolTip.cpp (from rev 550, trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.cpp) =================================================================== --- trunk/MythTVReader/Shell/ToolTip/NuvToolTip.cpp (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/NuvToolTip.cpp 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,137 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2005 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +// NuvToolTip.cpp : Implementation of CNuvToolTip + +#include "stdafx.h" +#include "NuvToolTip.h" + +// CNuvToolTip +CNuvToolTip::CNuvToolTip() +{ +} + +HRESULT CNuvToolTip::FinalConstruct() +{ + return S_OK; +} + +void CNuvToolTip::FinalRelease() +{ +} + +// IPersistFile +HRESULT CNuvToolTip::GetClassID(CLSID *pCLSID) +{ + *pCLSID=CLSID_NuvToolTip; + return S_OK; +} + +HRESULT CNuvToolTip::IsDirty() +{ + return E_NOTIMPL; +} + +HRESULT CNuvToolTip::Load(LPCOLESTR wszFilename, DWORD dwMode) +{ + m_FileName=wszFilename; + return S_OK; +} + +HRESULT CNuvToolTip::Save(LPCOLESTR, BOOL) +{ + return E_NOTIMPL; +} + +HRESULT CNuvToolTip::SaveCompleted(LPCOLESTR) +{ + return E_NOTIMPL; +} + +HRESULT CNuvToolTip::GetCurFile(LPOLESTR*) +{ + return E_NOTIMPL; +} + +// IQueryInfo +HRESULT CNuvToolTip::GetInfoFlags(DWORD*) +{ + return E_NOTIMPL; +} + +HRESULT CNuvToolTip::GetInfoTip(DWORD dwFlags,LPWSTR* ppwszTip) +{ + CComPtr<IMalloc> pMalloc; + HRESULT hr=SHGetMalloc(&pMalloc); + if(FAILED(hr)) + { + return hr; + } + + *ppwszTip=NULL; + + CAtlString oldlocale=setlocale(LC_ALL,NULL); + setlocale(LC_ALL,""); + + CNuvInfo::CFileInfo fileinfo; + m_info.GetInfo(CAtlString(m_FileName.GetBuffer()),fileinfo); + if(fileinfo.m_bProgramInfoLoaded) + { + CAtlStringW tip; + tip="Title: "; + tip+=fileinfo.m_ProgramInfo.m_title; + if(fileinfo.m_ProgramInfo.m_subtitle.GetLength()>0) + { + tip+=": "; + tip+=fileinfo.m_ProgramInfo.m_subtitle; + } + tip+="\n"; + + if(fileinfo.m_ProgramInfo.m_category.GetLength()>0) + { + tip+="Category: "; + tip+=fileinfo.m_ProgramInfo.m_category; + tip+="\n"; + } + + tip+="Recorded at: "; + tip+=fileinfo.m_ProgramInfo.m_startts.Format("%c"); + if(fileinfo.m_ProgramInfo.m_channame.GetLength()>0) + { + tip+=" on "; + tip+=fileinfo.m_ProgramInfo.m_channame; + } + + tip+="\n\n"; + + tip+=fileinfo.m_ProgramInfo.m_description; + setlocale(LC_ALL,oldlocale); + + size_t len=tip.GetLength()+1; + *ppwszTip=(LPWSTR)pMalloc->Alloc(len*sizeof(wchar_t)); + if(ppwszTip==NULL) + { + return E_OUTOFMEMORY; + } + wcscpy_s(*ppwszTip,len,tip.GetBuffer()); + return S_OK; + } + return E_FAIL; +} \ No newline at end of file Copied: trunk/MythTVReader/Shell/ToolTip/NuvToolTip.h (from rev 550, trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.h) =================================================================== --- trunk/MythTVReader/Shell/ToolTip/NuvToolTip.h (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/NuvToolTip.h 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,75 @@ +///////////////////////////////////////////////////////////////////////////// +// $Id$ +///////////////////////////////////////////////////////////////////////////// +// Copyright (c) 2005 Torbj\xF6rn Jansson. All rights reserved. +///////////////////////////////////////////////////////////////////////////// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +///////////////////////////////////////////////////////////////////////////// + +/** + * @file NuvToolTip.h Declaration of the CNuvToolTip + */ + +#pragma once +#include "resource.h" // main symbols + +#include "NuvInfo.h" +#include "ToolTip.h" + +/** + * Tool tip shell extension for *.nuv files. + * Works on both mpeg2 and nupplevideo type nuv files (mpeg4/rtjpeg). + * Requires connection to the mysql database for mythtv. + */ +class ATL_NO_VTABLE CNuvToolTip : + public CComObjectRootEx<CComSingleThreadModel>, + public CComCoClass<CNuvToolTip, &CLSID_NuvToolTip>, + public IPersistFile, + public IQueryInfo +{ +public: + CNuvToolTip(); + +DECLARE_REGISTRY_RESOURCEID(IDR_NUVTOOLTIP) + + +BEGIN_COM_MAP(CNuvToolTip) + COM_INTERFACE_ENTRY(IPersistFile) + COM_INTERFACE_ENTRY_IID(IID_IQueryInfo,IQueryInfo) +END_COM_MAP() + + DECLARE_PROTECT_FINAL_CONSTRUCT() + + HRESULT FinalConstruct(); + void FinalRelease() ; + +public: +// IPersistFile + STDMETHOD(GetClassID)(CLSID *pCLSID); + STDMETHOD(IsDirty)(); + STDMETHOD(Load)(LPCOLESTR, DWORD); + STDMETHOD(Save)(LPCOLESTR, BOOL); + STDMETHOD(SaveCompleted)(LPCOLESTR); + STDMETHOD(GetCurFile)(LPOLESTR*); + +// IQueryInfo + STDMETHOD(GetInfoFlags)(DWORD*); + STDMETHOD(GetInfoTip)(DWORD, LPWSTR*); +private: + CAtlStringW m_FileName; + CNuvInfo m_info; +}; + +OBJECT_ENTRY_AUTO(__uuidof(NuvToolTip), CNuvToolTip) Copied: trunk/MythTVReader/Shell/ToolTip/NuvToolTip.rgs (from rev 550, trunk/MythTVReader/Shell/NuvPropPage/NuvToolTip.rgs) =================================================================== --- trunk/MythTVReader/Shell/ToolTip/NuvToolTip.rgs (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/NuvToolTip.rgs 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,26 @@ +HKCR +{ + NuvPropPage.NuvToolTip.1 = s 'NuvToolTip Class' + { + CLSID = s '{0A9A5748-13FB-4F77-8321-3536D94AB86E}' + } + NuvPropPage.NuvToolTip = s 'NuvToolTip Class' + { + CLSID = s '{0A9A5748-13FB-4F77-8321-3536D94AB86E}' + CurVer = s 'NuvPropPage.NuvToolTip.1' + } + NoRemove CLSID + { + ForceRemove {0A9A5748-13FB-4F77-8321-3536D94AB86E} = s 'NuvToolTip Class' + { + ProgID = s 'NuvPropPage.NuvToolTip.1' + VersionIndependentProgID = s 'NuvPropPage.NuvToolTip' + InprocServer32 = s '%MODULE%' + { + val ThreadingModel = s 'Apartment' + } + val AppID = s '%APPID%' + 'TypeLib' = s '{A9983193-2815-4899-A4A1-1CBED6AD4655}' + } + } +} Added: trunk/MythTVReader/Shell/ToolTip/Resource.h =================================================================== --- trunk/MythTVReader/Shell/ToolTip/Resource.h (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/Resource.h 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,19 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by ToolTip.rc +// + +#define IDS_PROJNAME 100 +#define IDR_TOOLTIP 101 +#define IDR_NUVTOOLTIP 102 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 201 +#define _APS_NEXT_COMMAND_VALUE 32768 +#define _APS_NEXT_CONTROL_VALUE 201 +#define _APS_NEXT_SYMED_VALUE 103 +#endif +#endif Added: trunk/MythTVReader/Shell/ToolTip/ToolTip.cpp =================================================================== --- trunk/MythTVReader/Shell/ToolTip/ToolTip.cpp (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/ToolTip.cpp 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,93 @@ +// ToolTip.cpp : Implementation of DLL Exports. + + +#include "stdafx.h" +#include "resource.h" +#include "ToolTip.h" +#include "dlldatax.h" + + +class CToolTipModule : public CAtlDllModuleT< CToolTipModule > +{ +public : + DECLARE_LIBID(LIBID_ToolTipLib) + DECLARE_REGISTRY_APPID_RESOURCEID(IDR_TOOLTIP, "{33ED669D-0DB7-4241-A47E-4C8053218EF1}") +}; + +CToolTipModule _AtlModule; + + +#ifdef _MANAGED +#pragma managed(push, off) +#endif + +// DLL Entry Point +extern "C" BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) +{ +#ifdef _MERGE_PROXYSTUB + if (!PrxDllMain(hInstance, dwReason, lpReserved)) + return FALSE; +#endif + hInstance; + return _AtlModule.DllMain(dwReason, lpReserved); +} + +#ifdef _MANAGED +#pragma managed(pop) +#endif + + + + +// Used to determine whether the DLL can be unloaded by OLE +STDAPI DllCanUnloadNow(void) +{ +#ifdef _MERGE_PROXYSTUB + HRESULT hr = PrxDllCanUnloadNow(); + if (hr != S_OK) + return hr; +#endif + return _AtlModule.DllCanUnloadNow(); +} + + +// Returns a class factory to create an object of the requested type +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) +{ +#ifdef _MERGE_PROXYSTUB + if (PrxDllGetClassObject(rclsid, riid, ppv) == S_OK) + return S_OK; +#endif + return _AtlModule.DllGetClassObject(rclsid, riid, ppv); +} + + +// DllRegisterServer - Adds entries to the system registry +STDAPI DllRegisterServer(void) +{ + // registers object, typelib and all interfaces in typelib + HRESULT hr = _AtlModule.DllRegisterServer(); +#ifdef _MERGE_PROXYSTUB + if (FAILED(hr)) + return hr; + hr = PrxDllRegisterServer(); +#endif + return hr; +} + + +// DllUnregisterServer - Removes entries from the system registry +STDAPI DllUnregisterServer(void) +{ + HRESULT hr = _AtlModule.DllUnregisterServer(); +#ifdef _MERGE_PROXYSTUB + if (FAILED(hr)) + return hr; + hr = PrxDllRegisterServer(); + if (FAILED(hr)) + return hr; + hr = PrxDllUnregisterServer(); +#endif + return hr; +} + Added: trunk/MythTVReader/Shell/ToolTip/ToolTip.def =================================================================== --- trunk/MythTVReader/Shell/ToolTip/ToolTip.def (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/ToolTip.def 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,9 @@ +; ToolTip.def : Declares the module parameters. + +LIBRARY "ToolTip.DLL" + +EXPORTS + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + DllUnregisterServer PRIVATE Added: trunk/MythTVReader/Shell/ToolTip/ToolTip.idl =================================================================== --- trunk/MythTVReader/Shell/ToolTip/ToolTip.idl (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/ToolTip.idl 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,26 @@ +// ToolTip.idl : IDL source for ToolTip +// + +// This file will be processed by the MIDL tool to +// produce the type library (ToolTip.tlb) and marshalling code. + +import "oaidl.idl"; +import "ocidl.idl"; + +[ + uuid(4CF925D1-73C6-40FC-A22D-F35F575E3CE0), + version(1.0), + helpstring("ToolTip 1.0 Type Library") +] +library ToolTipLib +{ + importlib("stdole2.tlb"); + [ + uuid(0A9A5748-13FB-4F77-8321-3536D94AB86E), + helpstring("NuvToolTip Class") + ] + coclass NuvToolTip + { + [default] interface IUnknown; + }; +}; Added: trunk/MythTVReader/Shell/ToolTip/ToolTip.rc =================================================================== --- trunk/MythTVReader/Shell/ToolTip/ToolTip.rc (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/ToolTip.rc 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,133 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (Neutral) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "TODO: <Company name>" + VALUE "FileDescription", "TODO: <File description>" + VALUE "FileVersion", "1.0.0.1" + VALUE "LegalCopyright", "TODO: (c) <Company name>. All rights reserved." + VALUE "InternalName", "ToolTip.dll" + VALUE "OriginalFilename", "ToolTip.dll" + VALUE "ProductName", "TODO: <Product name>" + VALUE "ProductVersion", "1.0.0.1" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// REGISTRY +// + +IDR_TOOLTIP REGISTRY "ToolTip.rgs" +IDR_NUVTOOLTIP REGISTRY "NuvToolTip.rgs" + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +BEGIN + IDS_PROJNAME "ToolTip" +END + +#endif // English (Neutral) resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// Swedish resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE) +#ifdef _WIN32 +LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "1 TYPELIB ""ToolTip.tlb""\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Swedish resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +1 TYPELIB "ToolTip.tlb" + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + Added: trunk/MythTVReader/Shell/ToolTip/ToolTip.rgs =================================================================== --- trunk/MythTVReader/Shell/ToolTip/ToolTip.rgs (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/ToolTip.rgs 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,11 @@ +HKCR +{ + NoRemove AppID + { + '%APPID%' = s 'ToolTip' + 'ToolTip.DLL' + { + val AppID = s '%APPID%' + } + } +} Added: trunk/MythTVReader/Shell/ToolTip/ToolTip.vcproj =================================================================== --- trunk/MythTVReader/Shell/ToolTip/ToolTip.vcproj (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/ToolTip.vcproj 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,346 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="ToolTip" + ProjectGUID="{C9FE1F43-9505-4F22-AF52-D732A2CB8EB1}" + RootNamespace="ToolTip" + Keyword="AtlProj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + UseOfATL="2" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="_DEBUG" + MkTypLibCompatible="false" + TargetEnvironment="1" + GenerateStublessProxies="true" + TypeLibraryName="$(IntDir)/ToolTip.tlb" + HeaderFileName="ToolTip.h" + DLLDataFileName="" + InterfaceIdentifierFileName="ToolTip_i.c" + ProxyFileName="ToolTip_p.c" + ValidateParameters="false" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\common;"..\..\libs\mysql++\lib"" + PreprocessorDefinitions="WIN32;_WINDOWS;_DEBUG;_USRDLL" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="2" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="_DEBUG" + Culture="1033" + AdditionalIncludeDirectories="$(IntDir)" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + RegisterOutput="true" + IgnoreImportLibrary="true" + AdditionalDependencies="ws2_32.lib quartz.lib" + LinkIncremental="2" + ModuleDefinitionFile=".\ToolTip.def" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(SolutionDir)$(ConfigurationName)" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="2" + UseOfATL="2" + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + PreprocessorDefinitions="NDEBUG" + MkTypLibCompatible="false" + TargetEnvironment="1" + GenerateStublessProxies="true" + TypeLibraryName="$(IntDir)/ToolTip.tlb" + HeaderFileName="ToolTip.h" + DLLDataFileName="" + InterfaceIdentifierFileName="ToolTip_i.c" + ProxyFileName="ToolTip_p.c" + ValidateParameters="false" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + AdditionalIncludeDirectories="..\..\common;"..\..\libs\mysql++\lib"" + PreprocessorDefinitions="WIN32;_WINDOWS;NDEBUG;_USRDLL" + RuntimeLibrary="2" + UsePrecompiledHeader="2" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + PreprocessorDefinitions="NDEBUG" + Culture="1033" + AdditionalIncludeDirectories="$(IntDir)" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + RegisterOutput="true" + IgnoreImportLibrary="true" + AdditionalDependencies="ws2_32.lib quartz.lib" + LinkIncremental="1" + ModuleDefinitionFile=".\ToolTip.def" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\dlldatax.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + </File> + <File + RelativePath=".\NuvToolTip.cpp" + > + </File> + <File + RelativePath=".\stdafx.cpp" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="1" + /> + </FileConfiguration> + </File> + <File + RelativePath=".\ToolTip.cpp" + > + </File> + <File + RelativePath=".\ToolTip.def" + > + </File> + <File + RelativePath=".\ToolTip.idl" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\dlldatax.h" + > + </File> + <File + RelativePath=".\NuvToolTip.h" + > + </File> + <File + RelativePath=".\Resource.h" + > + </File> + <File + RelativePath=".\stdafx.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + <File + RelativePath=".\NuvToolTip.rgs" + > + </File> + <File + RelativePath=".\ToolTip.rc" + > + </File> + <File + RelativePath=".\ToolTip.rgs" + > + </File> + </Filter> + <Filter + Name="Generated Files" + SourceControlFiles="false" + > + <File + RelativePath=".\ToolTip.h" + > + </File> + <File + RelativePath=".\ToolTip_i.c" + > + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCLCompilerTool" + UsePrecompiledHeader="0" + /> + </FileConfiguration> + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/MythTVReader/Shell/ToolTip/dlldatax.c =================================================================== --- trunk/MythTVReader/Shell/ToolTip/dlldatax.c (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/dlldatax.c 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,18 @@ +// wrapper for dlldata.c + +#ifdef _MERGE_PROXYSTUB // merge proxy stub DLL + +#define REGISTER_PROXY_DLL //DllRegisterServer, etc. + +#define _WIN32_WINNT 0x0500 //for WinNT 4.0 or Win95 with DCOM +#define USE_STUBLESS_PROXY //defined only with MIDL switch /Oicf + +#pragma comment(lib, "rpcns4.lib") +#pragma comment(lib, "rpcrt4.lib") + +#define ENTRY_PREFIX Prx + +#include "dlldata.c" +#include "ToolTip_p.c" + +#endif //_MERGE_PROXYSTUB Added: trunk/MythTVReader/Shell/ToolTip/dlldatax.h =================================================================== --- trunk/MythTVReader/Shell/ToolTip/dlldatax.h (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/dlldatax.h 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,15 @@ +#pragma once + +#ifdef _MERGE_PROXYSTUB + +extern "C" +{ +BOOL WINAPI PrxDllMain(HINSTANCE hInstance, DWORD dwReason, + LPVOID lpReserved); +STDAPI PrxDllCanUnloadNow(void); +STDAPI PrxDllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv); +STDAPI PrxDllRegisterServer(void); +STDAPI PrxDllUnregisterServer(void); +} + +#endif Added: trunk/MythTVReader/Shell/ToolTip/stdafx.cpp =================================================================== --- trunk/MythTVReader/Shell/ToolTip/stdafx.cpp (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/stdafx.cpp 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,5 @@ +// stdafx.cpp : source file that includes just the standard includes +// ToolTip.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" Added: trunk/MythTVReader/Shell/ToolTip/stdafx.h =================================================================== --- trunk/MythTVReader/Shell/ToolTip/stdafx.h (rev 0) +++ trunk/MythTVReader/Shell/ToolTip/stdafx.h 2007-07-15 13:33:20 UTC (rev 551) @@ -0,0 +1,46 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, +// but are changed infrequently + +#pragma once + +#ifndef STRICT +#define STRICT +#endif + +// Modify the following defines if you have to target a platform prior to the ones specified below. +// Refer to MSDN for the latest info on corresponding values for different platforms. +#ifndef WINVER // Allow use of features specific to Windows XP or later. +#define WINVER 0x0501 // Change this to the appropriate value to target other versions of Windows. +#endif + +#ifndef _WIN32_WINNT // Allow use of features specific to Windows XP or later. +#define _WIN32_WINNT 0x0501 // Change this to the appropriate value to target other versions of Windows. +#endif + +#ifndef _WIN32_WINDOWS // Allow use of features specific to Windows 98 or later. +#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later. +#endif + +#ifndef _WIN32_IE // Allow use of features specific to IE 6.0 or later. +#define _WIN32_IE 0x0600 // Change this to the appropriate value to target other versions of IE. +#endif + +#define _ATL_APARTMENT_THREADED +#define _ATL_NO_AUTOMATIC_NAMESPACE + +#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit + + +#include "resource.h" +#include <atlbase.h> +#include <atlcom.h> + +#include <comdef.h> +#include <shlobj.h> +#include <atlstr.h> +#include <atltime.h> +#include <ATLComTime.h> +#include <atlcoll.h> + +using namespace ATL; \ No newline at end of file Modified: trunk/MythTVReader/reg-debug.bat =================================================================== --- trunk/MythTVReader/reg-debug.bat 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/reg-debug.bat 2007-07-15 13:33:20 UTC (rev 551) @@ -9,4 +9,6 @@ regsvr32 /u Debug\rtjpg.dll regsvr32 Debug\rtjpg.dll regsvr32 /u Debug\PropertyHandler.dll -regsvr32 Debug\PropertyHandler.dll \ No newline at end of file +regsvr32 Debug\PropertyHandler.dll +regsvr32 /u Debug\ToolTip.dll +regsvr32 Debug\ToolTip.dll \ No newline at end of file Modified: trunk/MythTVReader/reg-release.bat =================================================================== --- trunk/MythTVReader/reg-release.bat 2007-07-15 12:35:40 UTC (rev 550) +++ trunk/MythTVReader/reg-release.bat 2007-07-15 13:33:20 UTC (rev 551) @@ -9,4 +9,6 @@ regsvr32 /u Release\rtjpg.dll regsvr32 Release\rtjpg.dll regsvr32 /u Release\PropertyHandler.dll -regsvr32 Release\PropertyHandler.dll \ No newline at end of file +regsvr32 Release\PropertyHandler.dll +regsvr32 /u Release\ToolTip.dll +regsvr32 Release\ToolTip.dll \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |