Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//
// MODULE: LocalLSTReader.H
//
// PURPOSE: Implementation of the CLocalLSTReader class.
//
// PROJECT: Generic Troubleshooter DLL for Microsoft AnswerPoint - Local TS only
//
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 [email protected]
//
// AUTHOR: Oleg Kalosha
//
// ORIGINAL DATE: 01-22-99
//
// NOTES:
//
// Version Date By Comments
//--------------------------------------------------------------------
// V3.1 01-22-99 OK Original
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "LocalLSTReader.h"
#include "apgts.h"
#include "apgtsregconnect.h"
//////////////////////////////////////////////////////////////////////
// CLocalTopicInfo
//////////////////////////////////////////////////////////////////////
bool CLocalTopicInfo::Init(CString & strResourcePath, vector<CString> & vecstrWords) { for (vector<CString>::iterator i = vecstrWords.begin(); i != vecstrWords.end(); i++) { CString str_extension = CString(_T(".")) + CAbstractFileReader::GetJustExtension(*i);
str_extension.MakeLower(); if (str_extension == m_TopicFileExtension) { m_DscFilePath = ::FormFullPath(strResourcePath, *i); m_DscFilePath.MakeLower(); if (! m_NetworkName.GetLength()) { m_NetworkName = *i; int len = m_NetworkName.GetLength()-(m_TopicFileExtension.GetLength()); m_NetworkName = m_NetworkName.Left(len); m_NetworkName.MakeLower(); } } }
return CTopicInfo::Init(strResourcePath, vecstrWords); }
//////////////////////////////////////////////////////////////////////
// CLocalLSTReader
//////////////////////////////////////////////////////////////////////
CLocalLSTReader::CLocalLSTReader(CPhysicalFileReader* pPhysicalFileReader, const CString& strTopicName) : CAPGTSLSTReader(pPhysicalFileReader), m_strTopicName(strTopicName) { CAPGTSRegConnector APGTSRegConnector(m_strTopicName); int stub1 =0, stub2 =0;
if (!APGTSRegConnector.Read(stub1, stub2) || !APGTSRegConnector.GetStringInfo(CAPGTSRegConnector::eTopicFileExtension, m_strTopicFileExtension)) { m_strTopicFileExtension = APGTSLSTREAD_DSC; } else { m_strTopicFileExtension.MakeLower(); } }
void CLocalLSTReader::Open() { }
void CLocalLSTReader::ReadData(LPTSTR * ppBuf) { CString data;
data += CFG_HEADER; data += _T("\r\n"); data += m_strTopicName + m_strTopicFileExtension; data += _T(","); data += m_strTopicName + APGTSLSTREAD_HTI; data += _T(","); data += m_strTopicName + APGTSLSTREAD_TSC; data += _T(","); data += m_strTopicName;
*ppBuf = new TCHAR[data.GetLength() + 1]; //[BC-03022001] - added check for NULL ptr to satisfy MS code analysis tool.
if(*ppBuf) { memcpy(*ppBuf, (LPCTSTR)data, data.GetLength()); (*ppBuf)[data.GetLength()] = 0; } }
void CLocalLSTReader::Close() { }
CTopicInfo* CLocalLSTReader::GenerateTopicInfo() { return new CLocalTopicInfo(m_strTopicFileExtension); }
|