mirror of https://github.com/tongzx/nt5src
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.
156 lines
3.1 KiB
156 lines
3.1 KiB
#include "stdafx.h"
|
|
#include "mimemapc.h"
|
|
|
|
|
|
CMimeMap::CMimeMap ( LPCTSTR pchOriginalMimeMap)
|
|
{
|
|
CString strOriginalMimeMap = pchOriginalMimeMap;
|
|
int iCharIndex;
|
|
|
|
//Save this away and never change it.
|
|
m_strPrevMimeMap = pchOriginalMimeMap;
|
|
|
|
if ((iCharIndex = strOriginalMimeMap.Find(',')) != -1) {
|
|
m_strMimeType = strOriginalMimeMap.Left(iCharIndex);
|
|
strOriginalMimeMap = strOriginalMimeMap.Mid(iCharIndex + 1);
|
|
}
|
|
else {
|
|
m_strMimeType = strOriginalMimeMap;
|
|
strOriginalMimeMap = _T("");
|
|
}
|
|
|
|
if ((iCharIndex = strOriginalMimeMap.Find(',')) != -1) {
|
|
m_strFileExtension = strOriginalMimeMap.Left(iCharIndex);
|
|
strOriginalMimeMap = strOriginalMimeMap.Mid(iCharIndex + 1);
|
|
}
|
|
else {
|
|
m_strFileExtension = strOriginalMimeMap;
|
|
strOriginalMimeMap = _T("");
|
|
}
|
|
|
|
if ((iCharIndex = strOriginalMimeMap.Find(',')) != -1) {
|
|
m_strImageFile = strOriginalMimeMap.Left(iCharIndex);
|
|
strOriginalMimeMap = strOriginalMimeMap.Mid(iCharIndex + 1);
|
|
}
|
|
else {
|
|
m_strImageFile = strOriginalMimeMap;
|
|
strOriginalMimeMap = _T("");
|
|
}
|
|
|
|
m_strGopherType = strOriginalMimeMap;
|
|
}
|
|
|
|
CMimeMap::CMimeMap ( LPCTSTR pchFileExtension, LPCTSTR pchMimeType, LPCTSTR pchImageFile, LPCTSTR pchGopherType)
|
|
{
|
|
|
|
m_strPrevMimeMap = _T("");
|
|
|
|
m_strMimeType = pchMimeType;
|
|
SetFileExtension(pchFileExtension);
|
|
m_strImageFile = pchImageFile;
|
|
m_strGopherType = pchGopherType;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CMimeMap::~CMimeMap()
|
|
{
|
|
}
|
|
|
|
void CMimeMap::SetMimeType(LPCTSTR pchMimeType)
|
|
{
|
|
m_strMimeType = pchMimeType;
|
|
}
|
|
|
|
LPCTSTR CMimeMap::GetMimeType()
|
|
{
|
|
return (m_strMimeType);
|
|
}
|
|
|
|
void CMimeMap::SetGopherType(LPCTSTR pchGopherType)
|
|
{
|
|
m_strGopherType = pchGopherType;
|
|
}
|
|
|
|
|
|
LPCTSTR CMimeMap::GetGopherType()
|
|
{
|
|
return (m_strGopherType);
|
|
}
|
|
|
|
void CMimeMap::SetImageFile(LPCTSTR pchImageFile)
|
|
{
|
|
m_strImageFile = pchImageFile;
|
|
}
|
|
|
|
|
|
LPCTSTR CMimeMap::GetImageFile()
|
|
{
|
|
return(m_strImageFile);
|
|
}
|
|
|
|
|
|
void CMimeMap::SetFileExtension(LPCTSTR pchFileExtension)
|
|
{
|
|
CString strTempFileExtension = pchFileExtension;
|
|
CheckDot(strTempFileExtension);
|
|
m_strFileExtension = strTempFileExtension;
|
|
}
|
|
|
|
LPCTSTR CMimeMap::GetFileExtension()
|
|
{
|
|
return(m_strFileExtension);
|
|
}
|
|
|
|
LPCTSTR CMimeMap::GetPrevMimeMap()
|
|
{
|
|
return(m_strPrevMimeMap);
|
|
}
|
|
|
|
void CMimeMap::SetPrevMimeMap()
|
|
{
|
|
m_strPrevMimeMap = GetMimeMapping();
|
|
}
|
|
|
|
BOOL CMimeMap::PrevMimeMapExists()
|
|
{
|
|
return (m_strPrevMimeMap != _T(""));
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Private functions
|
|
|
|
LPCTSTR CMimeMap::GetMimeMapping()
|
|
{
|
|
m_strCurrentMimeMap = m_strMimeType;
|
|
m_strCurrentMimeMap += _T(",");
|
|
m_strCurrentMimeMap += m_strFileExtension;
|
|
m_strCurrentMimeMap += _T(",");
|
|
m_strCurrentMimeMap += m_strImageFile;
|
|
m_strCurrentMimeMap += _T(",");
|
|
m_strCurrentMimeMap += m_strGopherType;
|
|
return (m_strCurrentMimeMap);
|
|
}
|
|
|
|
LPCTSTR CMimeMap::GetDisplayString()
|
|
{
|
|
m_strDisplayString = m_strFileExtension;
|
|
m_strDisplayString += _T("\t");
|
|
m_strDisplayString += m_strMimeType;
|
|
m_strDisplayString += _T("\t");
|
|
m_strDisplayString += m_strGopherType;
|
|
return (m_strDisplayString);
|
|
}
|
|
|
|
void CMimeMap::CheckDot(CString &strFileExtension)
|
|
{
|
|
if (strFileExtension.Left(1) == _T(".")) {
|
|
CString strTemp = strFileExtension.Mid(1);
|
|
strFileExtension = strTemp;
|
|
}
|
|
}
|