[commit] r1235 - in trunk/GME: Common Console ConstraintManager GMEActiveBrowser Gme Meta MgaUtil ObjectInspector PanningView Parser
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Thu Mar 31 12:49:50 CDT 2011
Author: ksmyth
Date: Thu Mar 31 12:49:49 2011
New Revision: 1235
Log:
More UNICODE. Change xme to UTF-16
Modified:
trunk/GME/Common/Common.vcxproj
trunk/GME/Common/CommonMfc.h
trunk/GME/Common/CommonSmart.h
trunk/GME/Console/ConsoleCtl.cpp
trunk/GME/ConstraintManager/GMEViolationDialog.cpp
trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp
trunk/GME/GMEActiveBrowser/MgaMap.cpp
trunk/GME/Gme/GME.vcxproj
trunk/GME/Gme/GMEOLEData.cpp
trunk/GME/Gme/GUIObject.cpp
trunk/GME/Gme/MgaOpenDlg.cpp
trunk/GME/Gme/gmeactivebrowser.cpp
trunk/GME/Meta/MetaUtilities.h
trunk/GME/MgaUtil/AlterNmspDlg.cpp
trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp
trunk/GME/MgaUtil/AnnotationNode.cpp
trunk/GME/MgaUtil/AnnotationUtil.cpp
trunk/GME/MgaUtil/ClosureDlg.cpp
trunk/GME/MgaUtil/ClosureRes.h
trunk/GME/MgaUtil/CompDlg.cpp
trunk/GME/MgaUtil/CompInfoDlg.cpp
trunk/GME/MgaUtil/ConnPropertiesDlg.cpp
trunk/GME/MgaUtil/DirDialog.cpp
trunk/GME/MgaUtil/FolderPropertiesDlg.cpp
trunk/GME/MgaUtil/GUIDCreate.cpp
trunk/GME/MgaUtil/GUIDCreate.h
trunk/GME/MgaUtil/GmeDlg.cpp
trunk/GME/MgaUtil/GmeDlg.h
trunk/GME/MgaUtil/MakeClosure.cpp
trunk/GME/MgaUtil/MetaDlg.cpp
trunk/GME/MgaUtil/MetaPurgeDialog.cpp
trunk/GME/MgaUtil/MgaClosure.cpp
trunk/GME/MgaUtil/MgaEventLogger.cpp
trunk/GME/MgaUtil/MgaLauncher.cpp
trunk/GME/MgaUtil/MgaProgressDlg.cpp
trunk/GME/MgaUtil/MgaRegistrar.cpp
trunk/GME/MgaUtil/MgaResolver.cpp
trunk/GME/MgaUtil/MgaUtil.vcxproj
trunk/GME/MgaUtil/PropertiesDlg.cpp
trunk/GME/MgaUtil/RegistryBrowserDlg.cpp
trunk/GME/MgaUtil/RegistryTree.cpp
trunk/GME/MgaUtil/SplitterBar.cpp
trunk/GME/MgaUtil/colorbtn.cpp
trunk/GME/ObjectInspector/Preference.cpp
trunk/GME/PanningView/PanningView.vcxproj
trunk/GME/Parser/GenParser.cpp
trunk/GME/Parser/GenParser.h
trunk/GME/Parser/Helper.cpp
trunk/GME/Parser/Helper.h
trunk/GME/Parser/MetaParser.cpp
trunk/GME/Parser/MetaParser.h
trunk/GME/Parser/MgaDumper.cpp
trunk/GME/Parser/MgaDumper.h
trunk/GME/Parser/MgaParser.cpp
trunk/GME/Parser/MgaParser.h
trunk/GME/Parser/MgaParserBC.cpp
trunk/GME/Parser/MgaParserClosureHelper.cpp
trunk/GME/Parser/MgaParserSC.cpp
trunk/GME/Parser/Parser.vcxproj
trunk/GME/Parser/StdAfx.h
trunk/GME/Parser/Transcoder.cpp
trunk/GME/Parser/Transcoder.h
Modified: trunk/GME/Common/Common.vcxproj
==============================================================================
--- trunk/GME/Common/Common.vcxproj Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Common/Common.vcxproj Thu Mar 31 12:49:49 2011 (r1235)
@@ -22,13 +22,13 @@
<ConfigurationType>Utility</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Utility</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -95,4 +95,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
Modified: trunk/GME/Common/CommonMfc.h
==============================================================================
--- trunk/GME/Common/CommonMfc.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Common/CommonMfc.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -11,9 +11,11 @@
// --------------------------- CString
inline void CopyTo(const CStringA &s, BSTR *b) { CopyTo(s, s.GetLength(), b); }
+inline void CopyTo(const CStringW &s, BSTR *b) { *b = CComBSTR(s).Detach(); }
inline void CopyTo(const CStringA &s, VARIANT *v) { CopyTo(s, s.GetLength(), v); }
inline void CopyTo(const CStringA &s, CComBstrObj &a) { CopyTo(s, s.GetLength(), a); }
inline void CopyTo(const CStringW &s, CComBstrObj &a) { a = CComBstrObj(s); }
+inline void CopyTo(const CStringW &s, CComBSTR &a) { a = CComBSTR(s); }
inline void CopyTo(const CStringA &s, CComVariant &a) { CopyTo(s, s.GetLength(), a); }
inline void CopyTo(BSTR b, CStringA &s)
@@ -27,7 +29,7 @@
inline void CopyBSTRTo(const BSTR b, CStringW& s)
{
int len = SysStringLen(b);
- memcpy(s.GetBufferSetLength(len), b, len);
+ memcpy(s.GetBufferSetLength(len*sizeof(wchar_t)), b, len*sizeof(wchar_t));
s.ReleaseBuffer(len);
}
@@ -97,6 +99,8 @@
template<class T>
PutInCString(T t) { CopyTo(t, b); }
+ template<>
+ PutInCString(BSTR t) { b = t; }
operator const CString &() { return b; }
operator const TCHAR *() { return b; }
Modified: trunk/GME/Common/CommonSmart.h
==============================================================================
--- trunk/GME/Common/CommonSmart.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Common/CommonSmart.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -147,7 +147,7 @@
{
public:
CComBstrObj() : p(NULL) { }
- CComBstrObj(LPCOLESTR q) { p = SysAllocString(q); }
+ explicit CComBstrObj(LPCOLESTR q) { p = SysAllocString(q); }
CComBstrObj(const CComBstrObj &q) : p(NULL) { if(q.p) { p = SysAllocStringLen(q, q.Length()); } }
CComBstrObj(CComBstrObj &&q) { p = q.p; q.p = NULL; }
~CComBstrObj() { if(p) SysFreeString(p); }
Modified: trunk/GME/Console/ConsoleCtl.cpp
==============================================================================
--- trunk/GME/Console/ConsoleCtl.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Console/ConsoleCtl.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -822,9 +822,9 @@
CStringA aTip(tip);
CStringW wTip(tip);
if( pNMHDR->code == TTN_NEEDTEXTA)
- StringCchCopyA((char*)pTTTA->szText, sizeof(pTTTA->szText) / sizeof(char) - 1, aTip);
+ StringCchCopyA(pTTTA->szText, sizeof(pTTTA->szText) / sizeof(char) - 1, aTip);
else
- StringCchCopyW((wchar_t*)pTTTW->szText, sizeof(pTTTW->szText) / sizeof(wchar_t) - 1, wTip);
+ StringCchCopyW(pTTTW->szText, sizeof(pTTTW->szText) / sizeof(wchar_t) - 1, wTip);
*pResult = 0;
return TRUE; // message was handled
Modified: trunk/GME/ConstraintManager/GMEViolationDialog.cpp
==============================================================================
--- trunk/GME/ConstraintManager/GMEViolationDialog.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/ConstraintManager/GMEViolationDialog.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -190,13 +190,13 @@
lvItem.mask = LVIF_TEXT;
lvItem.iSubItem = 1;
CString strText = m_vecRecords[ i ].spConstraint->GetContextType().c_str();// OclCommonEx::Convert( m_vecRecords[ i ].spConstraint->GetContextType() );
- lvItem.pszText = (char*)(LPCTSTR)strText; //.GetBuffer( strText.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strText; //.GetBuffer( strText.GetLength() );
m_lstConstraints.SetItem( &lvItem );
// strText.ReleaseBuffer();
lvItem.iSubItem = 2;
strText = m_vecRecords[ i ].spConstraint->GetName().c_str(); // OclCommonEx::Convert( m_vecRecords[ i ].spConstraint->GetName() );
- lvItem.pszText = (char*)(LPCTSTR)strText; //.GetBuffer( strText.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strText; //.GetBuffer( strText.GetLength() );
m_lstConstraints.SetItem( &lvItem );
// strText.ReleaseBuffer();
}
@@ -509,7 +509,7 @@
lvItem.iImage = 0;
lvItem.lParam = i;
CString strTemp = vi.vecVariables[ i ].c_str(); // OclCommonEx::Convert( vi.vecVariables[ i ] );
- lvItem.pszText = (char*)(LPCTSTR)strTemp;//.GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp;//.GetBuffer( strTemp.GetLength() );
m_lstObjects.InsertItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -520,7 +520,7 @@
lvItem.mask = LVIF_TEXT;
lvItem.iSubItem = 1;
strTemp = vi.vecObjects[ i ].c_str(); // OclCommonEx::Convert( vi.vecObjects[ i ] );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
m_lstObjects.SetItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -570,7 +570,7 @@
lvItem.lParam = it->second.serial*1000 +i;
CString strTemp;
strTemp.Format( "%d", it->second.serial*1000 + i + 1 );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
m_lstExpression.InsertItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -581,7 +581,7 @@
lvItem.mask = LVIF_TEXT;
lvItem.iSubItem = 1;
strTemp = arrText.GetAt( i );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
m_lstExpression.SetItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -629,7 +629,7 @@
lvItem.lParam = i;
CString strTemp;
strTemp.Format( "%d", i + 1 );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
m_lstExpression.InsertItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -640,7 +640,7 @@
lvItem.mask = LVIF_TEXT;
lvItem.iSubItem = 1;
strTemp = arrText.GetAt( i );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
m_lstExpression.SetItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -678,7 +678,7 @@
strTemp = "?";
else
strTemp.Format( "%d", vi.position.iLine );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
m_lstErrors.InsertItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -693,7 +693,7 @@
lvItem.mask = LVIF_TEXT;
lvItem.iSubItem = 1;
strTemp.Format( "%d", vi.position.iColumn );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; //.GetBuffer( strTemp.GetLength() );
m_lstErrors.SetItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -705,7 +705,7 @@
lvItem.mask = LVIF_TEXT;
lvItem.iSubItem = 1;
strTemp = vi.strMessage.c_str(); // OclCommonEx::Convert( vi.strMessage );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
m_lstErrors.SetItem( &lvItem );
// strTemp.ReleaseBuffer();
@@ -715,7 +715,7 @@
lvItem.iSubItem = 2;
strTemp = vi.strSignature.c_str(); // OclCommonEx::Convert( vi.strSignature );
- lvItem.pszText = (char*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
+ lvItem.pszText = (TCHAR*)(LPCTSTR)strTemp; // .GetBuffer( strTemp.GetLength() );
m_lstErrors.SetItem( &lvItem );
// strTemp.ReleaseBuffer();
Modified: trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/GMEActiveBrowser/ActiveBrowserPropertyPage.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -2320,7 +2320,7 @@
item[itemcount++] = id;
iitem = parent;
parent.Release();
- } while (!m_TreeAggregate.m_MgaMap.SearchTreeItem((wchar_t*)((char*)id),hNewItem, pUnknown));
+ } while (!m_TreeAggregate.m_MgaMap.SearchTreeItem(id,hNewItem, pUnknown));
pMgaContext->CommitTransaction();
// open the parents in backward order
worked = true;
@@ -2330,7 +2330,7 @@
m_TreeAggregate.SendMessage(WM_KEYDOWN, (WPARAM)107, (LPARAM)0);
for (itemcount-=2; itemcount > 0; itemcount--)
{
- if (m_TreeAggregate.m_MgaMap.SearchTreeItem((wchar_t*)((char*)item[itemcount]),hNewItem, pUnknown))
+ if (m_TreeAggregate.m_MgaMap.SearchTreeItem(item[itemcount],hNewItem, pUnknown))
{
m_TreeAggregate.EnsureVisible(hNewItem);
m_TreeAggregate.ClearSelection(TRUE);
Modified: trunk/GME/GMEActiveBrowser/MgaMap.cpp
==============================================================================
--- trunk/GME/GMEActiveBrowser/MgaMap.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/GMEActiveBrowser/MgaMap.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -196,7 +196,7 @@
BSTR oid = NULL;
mgao->get_ID(&oid);
_bstr_t boid(oid, false);
- _bstr_t bid = (char*)Id;
+ _bstr_t bid = Id;
if (bid == boid)
{
found = true;
Modified: trunk/GME/Gme/GME.vcxproj
==============================================================================
--- trunk/GME/Gme/GME.vcxproj Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Gme/GME.vcxproj Thu Mar 31 12:49:49 2011 (r1235)
@@ -255,7 +255,9 @@
<None Include="AnnotatorEventSink.rgs" />
<None Include="DecoratorEventSink.rgs" />
<None Include="aboutpic.bmp" />
- <None Include="GME.exe.config" />
+ <None Include="GME.exe.config">
+ <SubType>Designer</SubType>
+ </None>
<None Include="res\atomport.bmp" />
<None Include="res\bitmap1.bmp" />
<None Include="res\bitmap_l.bmp" />
Modified: trunk/GME/Gme/GMEOLEData.cpp
==============================================================================
--- trunk/GME/Gme/GMEOLEData.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Gme/GMEOLEData.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -213,7 +213,7 @@
{
ASSERT( pDataObject != NULL );
- return pDataObject->IsDataAvailable(CF_TEXT) != FALSE;
+ return pDataObject->IsDataAvailable(CF_UNICODETEXT) != FALSE;
}
bool CGMEDataSource::ParseXMLData(COleDataObject *pDataObject, IMgaObject *target, bool merge = false)
@@ -229,7 +229,7 @@
try
{
// get the memory file
- CFile *memfile = pDataObject->GetFileData(CF_TEXT);
+ CFile *memfile = pDataObject->GetFileData(CF_UNICODETEXT);
if( memfile == NULL )
return false;
memfile->SeekToBegin();
@@ -356,15 +356,15 @@
void CGMEDataSource::DelayXMLDump()
{
FORMATETC fe = {
- CF_TEXT, NULL, DVASPECT_CONTENT, -1, TYMED_ISTREAM|TYMED_HGLOBAL
+ CF_UNICODETEXT, NULL, DVASPECT_CONTENT, -1, TYMED_ISTREAM|TYMED_HGLOBAL
};
- DelayRenderFileData(CF_TEXT, &fe);
+ DelayRenderFileData(CF_UNICODETEXT, &fe);
}
BOOL CGMEDataSource::OnRenderFileData(LPFORMATETC lpFormatEtc, CFile* pFile)
{
- if( lpFormatEtc->cfFormat == CF_TEXT )
+ if( lpFormatEtc->cfFormat == CF_UNICODETEXT )
{
ASSERT( pFile != NULL );
@@ -406,9 +406,6 @@
pFile->Write(buff, c);
} while( c == buffsize );
- buff[0] = 0;
- pFile->Write(buff, 1);
-
file.Close();
CFile::Remove(filename);
}
@@ -432,7 +429,7 @@
// ****************************************************************************************************
BOOL CGMEClosureDataSource::OnRenderFileData(LPFORMATETC lpFormatEtc, CFile* pFile)
{
- if( lpFormatEtc->cfFormat == CF_TEXT )
+ if( lpFormatEtc->cfFormat == CF_UNICODETEXT )
{
ASSERT( pFile != NULL );
Modified: trunk/GME/Gme/GUIObject.cpp
==============================================================================
--- trunk/GME/Gme/GUIObject.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Gme/GUIObject.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -2320,9 +2320,9 @@
if (label.IsEmpty())
return;
- label.Replace("%name%", (LPCSTR)(conn->name));
- label.Replace("%kind%", (LPCSTR)(conn->kindDisplayedName));
- label.Replace("%role%", (LPCSTR)(conn->roleDisplayedName));
+ label.Replace("%name%", conn->name);
+ label.Replace("%kind%", conn->kindDisplayedName);
+ label.Replace("%role%", conn->roleDisplayedName);
CGuiMetaAttributeList *metaAttrs = conn->GetMetaAttributes();
POSITION pos = metaAttrs->GetHeadPosition();
@@ -3324,8 +3324,7 @@
valStr.Append(edgeStr);
}
VERIFY(mgaFco);
- CComBSTR pathBstr;
- CopyTo(CUSTOMCONNECTIONDATA, pathBstr);
+ CComBSTR pathBstr = CUSTOMCONNECTIONDATA;
CComBSTR bstrVal;
if (valStr == "")
bstrVal = EMPTYCONNECTIONCUSTOMIZATIONDATAMAGIC;
@@ -3638,8 +3637,7 @@
void CGuiConnection::WriteAutoRouteState(bool handleTransaction)
{
VERIFY(mgaFco);
- CComBSTR pathBstr;
- CopyTo(CONNECTIONAUTOROUTING, pathBstr);
+ CComBSTR pathBstr = CONNECTIONAUTOROUTING;
CString valStr = isAutoRouted ? "true" : "false";
CComBSTR bstrVal;
CopyTo(valStr, bstrVal);
Modified: trunk/GME/Gme/MgaOpenDlg.cpp
==============================================================================
--- trunk/GME/Gme/MgaOpenDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Gme/MgaOpenDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -177,7 +177,7 @@
}
else if( m_radio == 1 )
{
- CFileDialog dlg(true, NULL, fileNameHint.IsEmpty() ? NULL : (LPCSTR)fileNameHint,
+ CFileDialog dlg(true, NULL, fileNameHint.IsEmpty() ? NULL : (LPCTSTR)fileNameHint,
OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |
(flag_create ? 0 : OFN_FILEMUSTEXIST), allowXme ? xmemgafilter : mgafilter);
if (!folderPathHint.IsEmpty())
Modified: trunk/GME/Gme/gmeactivebrowser.cpp
==============================================================================
--- trunk/GME/Gme/gmeactivebrowser.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Gme/gmeactivebrowser.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -51,6 +51,5 @@
{
static BYTE parms[] =
VTS_BSTR;
- _bstr_t bid(Id);
- InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, (char*)bid);
+ InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Id);
}
Modified: trunk/GME/Meta/MetaUtilities.h
==============================================================================
--- trunk/GME/Meta/MetaUtilities.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Meta/MetaUtilities.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -541,6 +541,11 @@
return false;
}
}
+
+ bool operator()( const CComBstrObj &pFullNmInParadigm, BSTR pUnknownFormat) const
+ {
+ return operator()(pFullNmInParadigm, CComBstrObj(pUnknownFormat));
+ }
};
Modified: trunk/GME/MgaUtil/AlterNmspDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/AlterNmspDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/AlterNmspDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -82,13 +82,13 @@
|| m_vRadAlter == 2 && m_strTrunc.IsEmpty()
|| m_vRadAlter == 3 && ( m_strPrefix.IsEmpty() || m_strTrunc.IsEmpty()))
{
- AfxMessageBox( "Please do NOT specify empty string in the edit box!");
+ AfxMessageBox( _T("Please do NOT specify empty string in the edit box!"));
return; // don't allow these scenarios
}
// completing the namespaces with the operator: '::'
- if( !m_strPrefix.IsEmpty() && m_strPrefix.Right(2) != "::") m_strPrefix += "::";
- if( !m_strTrunc.IsEmpty() && m_strTrunc.Right(2) != "::") m_strTrunc += "::";
+ if( !m_strPrefix.IsEmpty() && m_strPrefix.Right(2) != _T("::")) m_strPrefix += _T("::");
+ if( !m_strTrunc.IsEmpty() && m_strTrunc.Right(2) != _T("::")) m_strTrunc += _T("::");
UpdateData( FALSE);
//m_storedStrPrefix = m_strPrefix;
@@ -124,9 +124,9 @@
}
void AlterNmspDlg::OnBnClickedButton1()
{
- AfxMessageBox("Kinds may differ in this paradigm compared to the originating one. You might choose to "
- "prefix the originating object kinds and roles with a specific namespace string. "
- "You might also choose to disregard namespace related information from the XML data by using the Trunc option. "
- "To migrate from one namespace to another you can specify the namespace string to be removed (in the 2nd edit box) and the namespace "
- "string to be used then as a prefix (in the 1st edit box).", MB_OK | MB_ICONINFORMATION);
+ AfxMessageBox(_T("Kinds may differ in this paradigm compared to the originating one. You might choose to ")
+ _T("prefix the originating object kinds and roles with a specific namespace string. ")
+ _T("You might also choose to disregard namespace related information from the XML data by using the Trunc option. ")
+ _T("To migrate from one namespace to another you can specify the namespace string to be removed (in the 2nd edit box) and the namespace ")
+ _T("string to be used then as a prefix (in the 1st edit box)."), MB_OK | MB_ICONINFORMATION);
}
Modified: trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/AnnotationBrowserDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -13,8 +13,8 @@
static char THIS_FILE[] = __FILE__;
#endif
-const char * show_str = "Show";
-const char * hide_str = "Hide";
+const TCHAR * show_str = _T("Show");
+const TCHAR * hide_str = _T("Hide");
/////////////////////////////////////////////////////////////////////////////
// CAnnotationBrowserDlg dialog
@@ -146,7 +146,7 @@
CopyTo(bstr_tmp,m_modelKind);
}
else {
- m_modelKind = "N/A";
+ m_modelKind = _T("N/A");
}
CComPtr<IMgaMetaRole> metaRole;
@@ -157,7 +157,7 @@
CopyTo(bstr_tmp, m_modelRole);
}
else {
- m_modelRole = "N/A";
+ m_modelRole = _T("N/A");
}
}
catch (hresult_exception &){
@@ -343,7 +343,7 @@
if (height < 0) {
height = -MulDiv(height, 72, GetDeviceCaps(GetDC()->m_hDC, LOGPIXELSY));
}
- m_anFont.Format("%s, %d, %s%s", m_anLogFont.lfFaceName, height, m_anLogFont.lfWeight <= 500 ? "Regular" : "Bold", m_anLogFont.lfItalic ? ", Italic" : "");
+ m_anFont.Format(_T("%s, %d, %s%s"), m_anLogFont.lfFaceName, height, m_anLogFont.lfWeight <= 500 ? _T("Regular") : _T("Bold"), m_anLogFont.lfItalic ? _T(", Italic") : _T(""));
}
void CAnnotationBrowserDlg::SavePanelToNode(CAnnotationNode *node) {
Modified: trunk/GME/MgaUtil/AnnotationNode.cpp
==============================================================================
--- trunk/GME/MgaUtil/AnnotationNode.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/AnnotationNode.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -68,7 +68,7 @@
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
if (lfNode != NULL) {
COMTHROW(lfNode->get_Value(&bstr));
- if (bstr == "1")
+ if (bstr == L"1")
m_canBeRederived = true;
}
}
@@ -85,7 +85,7 @@
}
catch (hresult_exception &) {
ASSERT(("Error while reading annotation from registry.", false));
- m_name = "ERROR!!!";
+ m_name = _T("ERROR!!!");
}
// Annotation text
@@ -97,7 +97,7 @@
}
catch (hresult_exception &) {
ASSERT(("Error while reading annotation from registry.", false));
- m_text = "Unable to read annotation text.";
+ m_text = _T("Unable to read annotation text.");
}
// 'Inheritable'
@@ -109,7 +109,7 @@
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
if (lfNode != NULL) {
COMTHROW(lfNode->get_Value(&bstr));
- if (bstr == "1")
+ if (bstr == L"1")
m_inheritable = true;
}
}
@@ -126,7 +126,7 @@
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
if (lfNode != NULL) {
COMTHROW(lfNode->get_Value(&bstr));
- if (bstr == "1")
+ if (bstr == L"1")
m_hidden = true;
}
}
@@ -261,7 +261,7 @@
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
if (lfNode != NULL) {
COMTHROW(lfNode->get_Value(&bstr));
- if (bstr == "1")
+ if (bstr == L"1")
m_bGradientFill = true;
else
m_bGradientFill = false;
@@ -299,7 +299,7 @@
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
if (lfNode != NULL) {
COMTHROW(lfNode->get_Value(&bstr));
- if (bstr == "1")
+ if (bstr == L"1")
m_bCastShadow = true;
else
m_bCastShadow = false;
@@ -356,7 +356,7 @@
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
if (lfNode != NULL) {
COMTHROW(lfNode->get_Value(&bstr));
- if (bstr == "1")
+ if (bstr == L"1")
m_bRoundCornerRect = true;
else
m_bRoundCornerRect = false;
@@ -510,7 +510,7 @@
// either broken in the past (canBeRederived) or broken right now(broken_inh)
if( m_canBeRederived || broken_inheritance) {
try {
- CComBSTR bstr("1");
+ CComBSTR bstr(L"1");
CComPtr<IMgaRegNode> lfNode;
CComBSTR lfName(AN_BROKEN_DERIV);
COMTHROW(m_regNode->get_SubNodeByName(lfName, &lfNode));
@@ -524,7 +524,7 @@
// Store 'inheritable' preference
{
try {
- CString str(m_inheritable?"1":"0");
+ CString str(m_inheritable?_T("1"):_T("0"));
CComBSTR bstr(str);
CComPtr<IMgaRegNode> lfNode;
CComBSTR lfName(AN_INHERITABLE);
@@ -539,7 +539,7 @@
// Store 'hidden' preference
{
try {
- CString str(m_hidden?"1":"0");
+ CString str(m_hidden?_T("1"):_T("0"));
CComBSTR bstr(str);
CComPtr<IMgaRegNode> lfNode;
CComBSTR lfName(AN_HIDDEN);
@@ -654,7 +654,7 @@
// Store 'gradientfill' preference
{
try {
- CString str(m_bGradientFill ? "1" : "0");
+ CString str(m_bGradientFill ? _T("1") : _T("0"));
CComBSTR bstr(str);
CComPtr<IMgaRegNode> lfNode;
CComBSTR lfName(AN_GRADIENTFILL_PREF);
@@ -685,7 +685,7 @@
// Store 'castshadow' preference
{
try {
- CString str(m_bCastShadow ? "1" : "0");
+ CString str(m_bCastShadow ? _T("1") : _T("0"));
CComBSTR bstr(str);
CComPtr<IMgaRegNode> lfNode;
CComBSTR lfName(AN_CASTSHADOW_PREF);
@@ -732,7 +732,7 @@
// Store 'roundcornerrect' preference
{
try {
- CString str(m_bRoundCornerRect ? "1" : "0");
+ CString str(m_bRoundCornerRect ? _T("1") : _T("0"));
CComBSTR bstr(str);
CComPtr<IMgaRegNode> lfNode;
CComBSTR lfName(AN_ROUNDCORNERRECT_PREF);
@@ -796,7 +796,7 @@
aspValStr = AN_VISIBLE_DEFAULT;
}
else {
- aspValStr.Format("%d,%d", m_aspects[aspIdx].m_loc.x, m_aspects[aspIdx].m_loc.y);
+ aspValStr.Format(_T("%d,%d"), m_aspects[aspIdx].m_loc.x, m_aspects[aspIdx].m_loc.y);
}
CComBSTR aspVal(aspValStr);
COMTHROW(aspNode->put_Value(aspVal));
Modified: trunk/GME/MgaUtil/AnnotationUtil.cpp
==============================================================================
--- trunk/GME/MgaUtil/AnnotationUtil.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/AnnotationUtil.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -70,12 +70,12 @@
for (int i = 0; i < str.GetLength(); i++) {
if (str[i] == '\x0A') {
if (i > 0 && str[i - 1] != '\x0D')
- outStr.Append("\x0D");
+ outStr.Append(_T("\x0D"));
}
outStr.Append(CString(str[i]));
if (str[i] == '\x0D') {
if (i < str.GetLength() - 1 && str[i + 1] != '\x0A')
- outStr.Append("\x0A");
+ outStr.Append(_T("\x0A"));
}
}
return outStr;
@@ -84,7 +84,7 @@
CString CAnnotationUtil::ResolveNewLinesToLF(const CString& str)
{
CString outStr = str;
- outStr.Replace("\x0D\x0A", "\x0A");
- outStr.Replace("\x0D", "\x0A");
+ outStr.Replace(_T("\x0D\x0A"), _T("\x0A"));
+ outStr.Replace(_T("\x0D"), _T("\x0A"));
return outStr;
}
Modified: trunk/GME/MgaUtil/ClosureDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/ClosureDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/ClosureDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -138,7 +138,7 @@
m_ctrlPartOfFolders.EnableWindow( FALSE);
m_ctrlPartOfModels.EnableWindow( FALSE);
- m_strOutputFile = "Closure.xme";
+ m_strOutputFile = _T("Closure.xme");
m_ctrlOutputFile.EnableWindow( m_outputOption);
m_ctrlBrowse.EnableWindow( m_outputOption);
@@ -153,7 +153,7 @@
if( m_iMarkVal != -1)
{
TCHAR buf[12];
- _stprintf( buf, "%i", m_iMarkVal);
+ _stprintf( buf, _T("%i"), m_iMarkVal);
m_ctrlMarkVal.SetWindowText( buf);
}
@@ -185,7 +185,7 @@
TCHAR buf[12];
m_ctrlMarkVal.GetWindowText( buf, 11);
- if( 1 != _stscanf( buf, "%i", &m_iMarkVal))
+ if( 1 != _stscanf( buf, _T("%i"), &m_iMarkVal))
m_iMarkVal = -1;
CDialog::OnOK();
@@ -196,9 +196,9 @@
{
UpdateData( TRUE);
CWaitCursor wait;
- CFileDialog dlg(FALSE, "xme", "Closure.xme",
+ CFileDialog dlg(FALSE, _T("xme"), _T("Closure.xme"),
OFN_EXPLORER | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
- "GME Exported Files (*.xme;*.xml)|*.xme; *.xml|All Files (*.*)|*.*||");
+ _T("GME Exported Files (*.xme;*.xml)|*.xme; *.xml|All Files (*.*)|*.*||"));
if( dlg.DoModal() == IDOK)
{
m_strOutputFile = dlg.GetPathName();
Modified: trunk/GME/MgaUtil/ClosureRes.h
==============================================================================
--- trunk/GME/MgaUtil/ClosureRes.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/ClosureRes.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -18,7 +18,7 @@
// Construction
public:
CClosureRes(CWnd* pParent = NULL); // standard constructor
- std::vector< std::string > m_metaKindsAndFolders;
+ std::vector< std::wstring > m_metaKindsAndFolders;
// Dialog Data
//{{AFX_DATA(CClosureRes)
Modified: trunk/GME/MgaUtil/CompDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/CompDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/CompDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -32,7 +32,7 @@
//}}AFX_DATA_INIT
type = COMPONENTTYPE_ALL;
- onOKoper = "Close";
+ onOKoper = _T("Close");
firstResize = true;
}
@@ -105,7 +105,7 @@
{
if( !CUACUtils::isVistaOrLater() ) {
CRegKey accessTest;
- if (accessTest.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\GME", KEY_READ | KEY_WRITE) == ERROR_ACCESS_DENIED) {
+ if (accessTest.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\GME"), KEY_READ | KEY_WRITE) == ERROR_ACCESS_DENIED) {
GetDlgItem(IDC_RADIOSYS)->EnableWindow(false);
GetDlgItem(IDC_RADIOBOTH)->EnableWindow(false);
}
@@ -118,19 +118,19 @@
LV_COLUMN lvc;
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
- lvc.pszText = "Name";
+ lvc.pszText = _T("Name");
lvc.cx = 150;
VERIFYTHROW( m_list.InsertColumn(0, &lvc) != -1 );
- lvc.pszText = "Type";
+ lvc.pszText = _T("Type");
lvc.cx = 80;
VERIFYTHROW( m_list.InsertColumn(1, &lvc) != -1 );
- lvc.pszText = "ProgID";
+ lvc.pszText = _T("ProgID");
lvc.cx = 200;
VERIFYTHROW( m_list.InsertColumn(2, &lvc) != -1 );
- lvc.pszText = "Path";
+ lvc.pszText = _T("Path");
lvc.cx = 300;
VERIFYTHROW( m_list.InsertColumn(3, &lvc) != -1 );
@@ -146,7 +146,7 @@
RefreshShieldIcons();
}
- MSGCATCH("Error while initializing CompDlg",;)
+ MSGCATCH(_T("Error while initializing CompDlg"),;)
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
@@ -200,8 +200,8 @@
HRESULT hr = registrar->QueryComponent(progids[i], &qtype, PutOut(desc), REGACCESS_PRIORITY );
if(hr != S_OK) {
err_ass = true;
- desc = L"???";
- localDllDispPath = L"???";
+ desc = CComBstrObj(L"???");
+ localDllDispPath = CComBstrObj(L"???");
qtype = COMPONENTTYPE_NONE;
}
else {
@@ -218,7 +218,7 @@
HRESULT hr = registrar->GetLocalDllPathDisp(progids[i], PutOut(localDllDispPath));
if (SUCCEEDED(hr))
- localDllDispPathStr = (const char*)PutInCString(localDllDispPath);
+ localDllDispPathStr = (const TCHAR*)PutInCString(localDllDispPath);
/*#define BUFSIZE 1024
TCHAR buffer[BUFSIZE]=TEXT("");
DWORD retval = GetFullPathName(localDllDispPathStr, BUFSIZE, buffer, NULL);
@@ -236,11 +236,11 @@
switch(qtype & COMPONENTTYPE_ALL)
{
case COMPONENTTYPE_INTERPRETER:
- ctype = "Interpreter";
+ ctype = _T("Interpreter");
break;
case COMPONENTTYPE_ADDON:
- ctype = "Add-on";
+ ctype = _T("Add-on");
if(parameter.vt == VT_BSTR) {
CComBSTR l = parameter.bstrVal;
@@ -257,11 +257,11 @@
break;
case COMPONENTTYPE_PLUGIN:
- ctype = "Plug-in";
+ ctype = _T("Plug-in");
break;
default:
- ctype = "???";
+ ctype = _T("???");
}
VERIFYTHROW( m_list.SetItemText(index, 1, ctype) != 0 );
@@ -286,11 +286,11 @@
HRESULT hr = registrar->IsAssociated(PutInBstr(progid), PutInBstr(paradigm), &is_ass, &can_ass, REGACCESS_PRIORITY);
ASSERT(SUCCEEDED(hr));
if (SUCCEEDED(hr) && is_ass == VARIANT_TRUE) {
- m_enable_disable.SetWindowTextA("Disable");
+ m_enable_disable.SetWindowText(_T("Disable"));
return;
}
}
- m_enable_disable.SetWindowTextA("Enable");
+ m_enable_disable.SetWindowText(_T("Enable"));
}
void CCompDlg::OnOK()
@@ -349,7 +349,7 @@
}
if (!registrar) {
- DisplayError("Unable to remove component", registrarHr);
+ DisplayError(_T("Unable to remove component"), registrarHr);
return;
}
@@ -361,19 +361,19 @@
switch(regacc_translate(m_accessmode)) {
case REGACCESS_USER:
if (S_OK == registrar->QueryComponent(PutInBstr(progid), &type, PutOut(desc), REGACCESS_SYSTEM)) {
- AfxMessageBox("Warning: Component is still present in system registry");
+ AfxMessageBox(_T("Warning: Component is still present in system registry"));
}
break;
case REGACCESS_SYSTEM:
if (S_OK == registrar->QueryComponent(PutInBstr(progid), &type, PutOut(desc), REGACCESS_USER)) {
- AfxMessageBox("Warning: Component is still present in user registry");
+ AfxMessageBox(_T("Warning: Component is still present in user registry"));
}
break;
}
ResetItems();
}
}
- MSGCATCH("Error while removing component",;)
+ MSGCATCH(_T("Error while removing component"),;)
}
@@ -398,38 +398,38 @@
}
if (!registrar) {
- DisplayError("Unable to enable/disable component", registrarHr);
+ DisplayError(_T("Unable to enable/disable component"), registrarHr);
return;
}
HRESULT hr = registrar->IsAssociated(progid, PutInBstr(paradigm), &is_ass, &can_ass, REGACCESS_PRIORITY);
if (hr != S_OK)
- DisplayError("Cannot enable/disable this component", hr);
+ DisplayError(_T("Cannot enable/disable this component"), hr);
CString enable_or_disable;
if (is_ass) {
- enable_or_disable = "disable";
+ enable_or_disable = _T("disable");
hr = registrar->Disassociate(progid, PutInBstr(paradigm), regacc_translate(m_accessmode));
} else {
- enable_or_disable = "enable";
+ enable_or_disable = _T("enable");
if(!can_ass) {
- if(AfxMessageBox("This component reports to be incompatible with the paradigm\nAre you sure you want to proceed?", MB_YESNO) != IDYES) return;
+ if(AfxMessageBox(_T("This component reports to be incompatible with the paradigm\nAre you sure you want to proceed?"), MB_YESNO) != IDYES) return;
}
hr = (registrar->Associate(progid, PutInBstr(paradigm), regacc_translate(m_accessmode)) );
}
if(hr != S_OK) {
- DisplayError("The " + enable_or_disable + " operation failed", hr);
+ DisplayError(_T("The ") + enable_or_disable + _T(" operation failed"), hr);
}
ResetItems();
}
}
- MSGCATCH("Error while (dis)associating component",;)
+ MSGCATCH(_T("Error while (dis)associating component"),;)
}
-static char filter[] =
- "Component Files (*.dll; *.ocx)|*.dll; *.ocx|"
- "Pattern Files (*.pat)|*.pat|"
- "All Files (*.*)|*.*||";
+static TCHAR filter[] =
+ _T("Component Files (*.dll; *.ocx)|*.dll; *.ocx|")
+ _T("Pattern Files (*.pat)|*.pat|")
+ _T("All Files (*.*)|*.*||");
void CCompDlg::OnInstall()
{
@@ -445,10 +445,10 @@
CString ext = dlg.GetFileExt();
- if(ext.CompareNoCase("DLL") == 0) {
+ if(ext.CompareNoCase(_T("DLL")) == 0) {
RegisterDll(dlg.GetPathName());
}
- else if(ext.CompareNoCase("PAT") == 0){
+ else if(ext.CompareNoCase(_T("PAT")) == 0){
RegisterPattern(dlg.GetPathName());
}
else {
@@ -456,7 +456,7 @@
}
ResetItems();
}
- MSGCATCH("Error while installing component",;)
+ MSGCATCH(_T("Error while installing component"),;)
}
void CCompDlg::RegisterDll(const CString &path)
@@ -470,12 +470,12 @@
}
if (!registrar) {
- DisplayError("Unable to create component registrar", hr);
+ DisplayError(_T("Unable to create component registrar"), hr);
return;
}
hr = registrar->RegisterComponentLibrary(PutInBstr(path), regacc_translate(m_accessmode));
if (FAILED(hr)) {
- DisplayError("Unable to register component", hr);
+ DisplayError(_T("Unable to register component"), hr);
}
}
@@ -483,12 +483,14 @@
void CCompDlg::RegisterPattern(const CString &path)
{
+ // FIXME: should use TCHAR
char buf[300];
{
+ // FIXME: will this read a UTF-16 file?
std::ifstream fin(path, std::ios::in);//z! ios::nocreate used previously, but if opened for read it won't create in this way
if(fin.good()) fin.getline(buf, 300);
if(!fin.good()) {
- AfxMessageBox("Could not open or read the specified file: " + path);
+ AfxMessageBox(_T("Could not open or read the specified file: ") + path);
return;
}
}
@@ -504,15 +506,15 @@
}
if (!registrar) {
- DisplayError("Unable to register pattern component", registrarHr);
+ DisplayError(_T("Unable to register pattern component"), registrarHr);
return;
}
CCompInfoDlg dlg(registrar);
dlg.m_filename = path;
- char paren, info[200];
- if(sscanf(buf, " $!COMMENT( %[^)]%c", info, &paren) != 2 || paren != ')') {
+ TCHAR paren, info[200];
+ if(_stscanf_s(CString(buf), _T(" $!COMMENT( %[^)]%c"), info, &paren) != 2 || paren != ')') {
nothing_understood:
AfxMessageBox("Cannot read component info in file " + path);
}
@@ -520,7 +522,7 @@
// NAME=nnn, DESCRIPTION=ddd, PROGID=ii, PARADIGM=xx,yy, VERSION=vvv,
- char *p = strtok(info,",");
+ TCHAR *p = _tcstok(info, _T(","));
bool ready = false;
bool parsing_paradigm = false;
bool good = false;
@@ -542,21 +544,21 @@
i_name.TrimRight();
CString i_value = item.Mid(k1+1);
i_value.TrimLeft();
- if(i_name.Compare("NAME") == 0) {
+ if(i_name.Compare(_T("NAME")) == 0) {
dlg.m_name = i_value;
}
- else if(i_name.Compare("DESCRIPTION") == 0 ||
- i_name.Compare("DESC") == 0) {
+ else if(i_name.Compare(_T("DESCRIPTION")) == 0 ||
+ i_name.Compare(_T("DESC")) == 0) {
dlg.m_description = i_value;
}
- else if(i_name.Compare("PROGID") == 0) {
+ else if(i_name.Compare(_T("PROGID")) == 0) {
dlg.m_progid = i_value;
}
- else if(i_name.Compare("PARADIGM") == 0) {
+ else if(i_name.Compare(_T("PARADIGM")) == 0) {
dlg.m_paradigm = i_value;
parsing_paradigm = true;
}
- else if(i_name.Compare("VERSION") == 0) {
+ else if(i_name.Compare(_T("VERSION")) == 0) {
dlg.m_version = i_value;
}
else goto item_err;
@@ -564,26 +566,26 @@
}
else {
if(parsing_paradigm) {
- dlg.m_paradigm += "," + item;
+ dlg.m_paradigm += _T(",") + item;
}
else {
item_err:
- AfxMessageBox("Syntax error parsing component info: " + item);
+ AfxMessageBox(_T("Syntax error parsing component info: ") + item);
}
}
- p = strtok(NULL, ",");
+ p = _tcstok(NULL, _T(","));
}
if(!good) goto nothing_understood;
}
if(dlg.m_progid.IsEmpty() && !dlg.m_name.IsEmpty()) {
- dlg.m_progid = "MGA.Pattern." + dlg.m_name;
+ dlg.m_progid = _T("MGA.Pattern.") + dlg.m_name;
}
if(dlg.m_description.IsEmpty() && !dlg.m_name.IsEmpty()) {
dlg.m_description = dlg.m_name;
}
if(dlg.m_version.IsEmpty()) {
- dlg.m_version = "1.0";
+ dlg.m_version = _T("1.0");
}
if(dlg.DoModal() != IDOK) return;
@@ -595,17 +597,17 @@
COMTHROW(registrar->RegisterComponent(progid,
(componenttype_enum)(COMPONENTTYPE_INTERPRETER|COMPONENTTYPE_SCRIPT),
PutInBstr(dlg.m_description), acmode));
- COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR("Name"), CComBSTR(dlg.m_name)));
- COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR("ExecEngine"), CComBSTR(dlg.engine)));
- COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR("ScriptFile"), CComBSTR(path)));
- COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR("ScriptVersion"), CComBSTR(dlg.m_version)));
-
- char *mpardup = (char *)alloca(dlg.m_paradigm.GetLength()+1);
- strcpy(mpardup, dlg.m_paradigm);
- const char *par = strtok(mpardup,"\t ,");
+ COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR(L"Name"), CComBSTR(dlg.m_name)));
+ COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR(L"ExecEngine"), CComBSTR(dlg.engine)));
+ COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR(L"ScriptFile"), CComBSTR(path)));
+ COMTHROW(registrar->put_ComponentExtraInfo(acmode, progid, CComBSTR(L"ScriptVersion"), CComBSTR(dlg.m_version)));
+
+ TCHAR *mpardup = (TCHAR *)alloca((dlg.m_paradigm.GetLength()+1)*sizeof(TCHAR));
+ _tcscpy(mpardup, dlg.m_paradigm);
+ const TCHAR *par = _tcstok(mpardup,_T("\t ,"));
while(par) {
COMTHROW(registrar->Associate(progid, CComBSTR(par), acmode));
- par = strtok(NULL, "\t ,");
+ par = _tcstok(NULL, _T("\t ,"));
}
}
Modified: trunk/GME/MgaUtil/CompInfoDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/CompInfoDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/CompInfoDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -60,10 +60,10 @@
int v;
if(m_progid.Find('.') < 0) {
- AfxMessageBox("ProgID must contain at least one '.'");
+ AfxMessageBox(_T("ProgID must contain at least one '.'"));
}
- else if(sscanf(m_version, "%d", &v) != 1 || v <= 0) {
- AfxMessageBox("Version ID must start with a number > 0");
+ else if(_stscanf_s(m_version, _T("%d"), &v) != 1 || v <= 0) {
+ AfxMessageBox(_T("Version ID must start with a number > 0"));
}
else {
m_execeng.GetLBText(m_execeng.GetCurSel(),engine);
@@ -89,7 +89,7 @@
if(hr != S_OK || ! (type & COMPONENTTYPE_EXECENGINE)) continue;
CString name(progids[i]);
int p = m_execeng.AddString(name);
- if(name.Find("attern") >= 0) sel = p;
+ if(name.Find(_T("attern")) >= 0) sel = p;
}
m_execeng.SetCurSel(sel);
return TRUE; // return TRUE unless you set the focus to a control
Modified: trunk/GME/MgaUtil/ConnPropertiesDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/ConnPropertiesDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/ConnPropertiesDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -46,7 +46,7 @@
//}}AFX_DATA_INIT
isType = typ;
editflag = false;
- m_relid.Format("0x%08X", relid);
+ m_relid.Format(_T("0x%08X"), relid);
}
Modified: trunk/GME/MgaUtil/DirDialog.cpp
==============================================================================
--- trunk/GME/MgaUtil/DirDialog.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/DirDialog.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -198,7 +198,7 @@
DWORD attr = GetFileAttributes(ss);
if (attr == 0xFFFFFFFF)
{
- const char *ss2;
+ const TCHAR *ss2;
// Directory not found but maybe it's an invalid drive
_TCHAR rootdir[4] = _T("?:\\");
@@ -211,7 +211,7 @@
return;
}
else if (len >= 2 && ss[0] == '\\' && ss[1] == '\\' &&
- ( (ss2 = strchr((const char *)ss+2, '\\')) == NULL || strchr(ss2+1, '\\') == NULL) )
+ ( (ss2 = _tcschr((const TCHAR *)ss+2, '\\')) == NULL || _tcschr(ss2+1, '\\') == NULL) )
{
AfxMessageBox(ss + _T("\nThis is not a valid folder."));
pEdit->SetFocus();
@@ -221,32 +221,29 @@
{
// Appears to be a valid drive (or relative path)
CString mess(ss);
- mess += _T("\nThis folder does not exist.\n\n"
- "Do you want to create it?");
+ mess += _T("\nThis folder does not exist.\n\n")
+ _T("Do you want to create it?");
if (AfxMessageBox(mess, MB_YESNO) == IDYES)
{
- // MakeSureDirectoryPathExists is not part of Windows but is
- // in the IMAGHLP.DLL which is always present. This call
- // requires linking with IMAGHLP.LIB.
- if (!::MakeSureDirectoryPathExists(ss + _T("\\")))
+ if (!::SHCreateDirectoryEx(NULL, ss + _T("\\"), NULL))
{
switch (GetDriveType(rootdir))
{
case DRIVE_CDROM:
- AfxMessageBox(_T("You cannot create this folder\n"
- "as the CD ROM medium is read-only."));
+ AfxMessageBox(_T("You cannot create this folder\n")
+ _T("as the CD ROM medium is read-only."));
break;
case DRIVE_REMOVABLE:
- AfxMessageBox(_T("You cannot create this folder.\n"
- "The medium may be write-protected."));
+ AfxMessageBox(_T("You cannot create this folder.\n")
+ _T("The medium may be write-protected."));
break;
case DRIVE_REMOTE:
- AfxMessageBox(_T("You do not have permission to create\n"
- "this folder on the network."));
+ AfxMessageBox(_T("You do not have permission to create\n")
+ _T("this folder on the network."));
break;
default:
- AfxMessageBox(_T("You do not have permission\n"
- "to create this folder."));
+ AfxMessageBox(_T("You do not have permission\n")
+ _T("to create this folder."));
break;
}
pEdit->SetFocus();
@@ -359,7 +356,7 @@
int len = ss.GetLength();
// Remove trailing backslash unless root directory or network root
- if (strcmp(ss,"\\") != 0 && strcmp(ss,"\\\\") != 0 && strcmp((const char *)ss+1,":\\") != 0 &&
+ if (_tcscmp(ss,_T("\\")) != 0 && _tcscmp(ss,_T("\\\\")) != 0 && _tcscmp((const TCHAR *)ss+1,_T(":\\")) != 0 &&
len > 0 && ss[len-1] == '\\' )
{
ss = ss.Left(--len);
@@ -367,7 +364,7 @@
if (len == 0 ||
len == 1 && ss[0] == '\\' ||
- len >= 2 && ss[0] == '\\' && ss[1] == '\\' && strchr((const char *)ss+2, '\\') == NULL ||
+ len >= 2 && ss[0] == '\\' && ss[1] == '\\' && _tcschr((const TCHAR *)ss+2, '\\') == NULL ||
len == 2 && ss[1] == ':' ||
len == 3 && ss[1] == ':' && ss[2] == '\\' )
{
@@ -391,29 +388,29 @@
{
// Appears to be a valid drive (or relative path)
CString mess(ss);
- mess += _T("\nThis folder does not exist.\n\n"
- "Do you want to create it?");
+ mess += _T("\nThis folder does not exist.\n\n")
+ _T("Do you want to create it?");
if (AfxMessageBox(mess, MB_YESNO) == IDYES)
{
- if (!::MakeSureDirectoryPathExists(ss + _T("\\")))
+ if (!::SHCreateDirectoryEx(NULL, ss + _T("\\"), NULL))
{
switch (GetDriveType(rootdir))
{
case DRIVE_CDROM:
- AfxMessageBox(_T("You cannot create this folder\n"
- "as the CD ROM medium is read-only."));
+ AfxMessageBox(_T("You cannot create this folder\n")
+ _T("as the CD ROM medium is read-only."));
break;
case DRIVE_REMOVABLE:
- AfxMessageBox(_T("You cannot create this folder.\n"
- "The medium may be write-protected."));
+ AfxMessageBox(_T("You cannot create this folder.\n")
+ _T("The medium may be write-protected."));
break;
case DRIVE_REMOTE:
- AfxMessageBox(_T("You do not have permission to create\n"
- "this folder on the network."));
+ AfxMessageBox(_T("You do not have permission to create\n")
+ _T("this folder on the network."));
break;
default:
- AfxMessageBox(_T("You do not have permission or\n"
- "otherwise cannot create this folder."));
+ AfxMessageBox(_T("You do not have permission or\n")
+ _T("otherwise cannot create this folder."));
break;
}
return;
@@ -428,7 +425,7 @@
GetWindowText(ss);
if (ss[ss.GetLength()-1] != '\\')
{
- ss += "\\";
+ ss += _T("\\");
SetWindowText(ss);
}
SetSel(ss.GetLength(), -1);
@@ -482,7 +479,7 @@
int count = 0; // Number of matching directory names
CString strMatch; // The last directory found that matches
- BOOL bContinue = ff.FindFile(ss + "*");
+ BOOL bContinue = ff.FindFile(ss + _T("*"));
while (bContinue)
{
@@ -716,7 +713,7 @@
int len = m_strPath.GetLength();
if (len > 0 && m_strPath[len-1] != '\\')
{
- m_strPath += "\\";
+ m_strPath += _T("\\");
++len;
}
pp->GetDlgItem(IDC_DIR)->SetWindowText(m_strPath);
Modified: trunk/GME/MgaUtil/FolderPropertiesDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/FolderPropertiesDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/FolderPropertiesDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -58,7 +58,7 @@
// view->BeginTransaction(true);
{
COMTHROW(folder->get_RelID(&relid));
- m_relid.Format("0x%08X", relid);
+ m_relid.Format(_T("0x%08X"), relid);
}
UpdateData(FALSE);
{
@@ -80,7 +80,7 @@
kind.SetWindowText(txt);
metaref_type mid = 0;
COMTHROW(metaFolder->get_MetaRef(&mid));
- txt.Format("%ld",(long)mid);
+ txt.Format(_T("%ld"),(long)mid);
metaid.SetWindowText(txt);
}
{
@@ -93,7 +93,7 @@
{
ID_type id = 0;
COMTHROW(folder->get_ID(&id));
- CString txt = CString("")+id;
+ CString txt = CString(_T(""))+id;
objectid.SetWindowText(txt);
}
Modified: trunk/GME/MgaUtil/GUIDCreate.cpp
==============================================================================
--- trunk/GME/MgaUtil/GUIDCreate.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/GUIDCreate.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -1,7 +1,7 @@
#include "stdafx.h"
#include "GUIDCreate.h"
-/*static*/ const char * GuidCreate::format_str = "{%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}";
+/*static*/ const TCHAR * GuidCreate::format_str = _T("{%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X}");
CComBSTR GuidCreate::newGuid()
{
Modified: trunk/GME/MgaUtil/GUIDCreate.h
==============================================================================
--- trunk/GME/MgaUtil/GUIDCreate.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/GUIDCreate.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -4,7 +4,7 @@
class GuidCreate
{
public:
- static const char * format_str;
+ static const TCHAR * format_str;
static CComBSTR newGuid();
};
Modified: trunk/GME/MgaUtil/GmeDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/GmeDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/GmeDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -16,27 +16,27 @@
static char THIS_FILE[] = __FILE__;
#endif
-/*static*/ const char* CGmeDlg::m_strZWidth = "Fit Width";
-/*static*/ const char* CGmeDlg::m_strZHeight = "Fit Height";
-/*static*/ const char* CGmeDlg::m_strZAll = "Fit All";
-
-/*static*/ const char* CGmeDlg::m_strFmtStrg = "%g";
-/*static*/ const char* CGmeDlg::m_strFmtStrf = "%f";
-/*static*/ const char* CGmeDlg::m_strFmtStrE = "%E";
-/*static*/ const char* CGmeDlg::m_strFmtStre = "%e";
-/*static*/ const char* CGmeDlg::m_strFmtStrg2 = "%.12g"; // the default one
-/*static*/ const char* CGmeDlg::m_strFmtStrf2 = "%lf";
-
-/*static*/ const char* CGmeDlg::m_strESStrD = "No Smooth";
-/*static*/ const char* CGmeDlg::m_strESStrHS = "High Speed Mode";
-/*static*/ const char* CGmeDlg::m_strESStrHQ = "High Quality Mode";
-
-/*static*/ const char* CGmeDlg::m_strFSStrSD = "System Default";
-/*static*/ const char* CGmeDlg::m_strFSStrSBPPGF = "Single Bit Per Pixel Grid Fit";
-/*static*/ const char* CGmeDlg::m_strFSStrSBPP = "Single Bit Per Pixel";
-/*static*/ const char* CGmeDlg::m_strFSStrAAGF = "Anti Alias Grid Fit";
-/*static*/ const char* CGmeDlg::m_strFSStrAA = "Anti Alias";
-/*static*/ const char* CGmeDlg::m_strFSStrCTGF = "Clear Type Grid Fit";
+/*static*/ const TCHAR* CGmeDlg::m_strZWidth = _T("Fit Width");
+/*static*/ const TCHAR* CGmeDlg::m_strZHeight = _T("Fit Height");
+/*static*/ const TCHAR* CGmeDlg::m_strZAll = _T("Fit All");
+
+/*static*/ const TCHAR* CGmeDlg::m_strFmtStrg = _T("%g");
+/*static*/ const TCHAR* CGmeDlg::m_strFmtStrf = _T("%f");
+/*static*/ const TCHAR* CGmeDlg::m_strFmtStrE = _T("%E");
+/*static*/ const TCHAR* CGmeDlg::m_strFmtStre = _T("%e");
+/*static*/ const TCHAR* CGmeDlg::m_strFmtStrg2 = _T("%.12g"); // the default one
+/*static*/ const TCHAR* CGmeDlg::m_strFmtStrf2 = _T("%lf");
+
+/*static*/ const TCHAR* CGmeDlg::m_strESStrD = _T("No Smooth");
+/*static*/ const TCHAR* CGmeDlg::m_strESStrHS = _T("High Speed Mode");
+/*static*/ const TCHAR* CGmeDlg::m_strESStrHQ = _T("High Quality Mode");
+
+/*static*/ const TCHAR* CGmeDlg::m_strFSStrSD = _T("System Default");
+/*static*/ const TCHAR* CGmeDlg::m_strFSStrSBPPGF = _T("Single Bit Per Pixel Grid Fit");
+/*static*/ const TCHAR* CGmeDlg::m_strFSStrSBPP = _T("Single Bit Per Pixel");
+/*static*/ const TCHAR* CGmeDlg::m_strFSStrAAGF = _T("Anti Alias Grid Fit");
+/*static*/ const TCHAR* CGmeDlg::m_strFSStrAA = _T("Anti Alias");
+/*static*/ const TCHAR* CGmeDlg::m_strFSStrCTGF = _T("Clear Type Grid Fit");
/////////////////////////////////////////////////////////////////////////////
@@ -108,18 +108,18 @@
/////////////////////////////////////////////////////////////////////////////
// CGmeDlg message handlers
-static char icofilter[] = "Icon files (*.ico;*.bmp)|*.ico;*.bmp|All Files (*.*)|*.*||";
-static char bakfilter[] = "Backup files (*.bak)|*.bak|All Files (*.*)|*.*||";
-static char exefilter[] = "Executable files (*.exe)|*.exe|All Files (*.*)|*.*||";
+static TCHAR icofilter[] = _T("Icon files (*.ico;*.bmp)|*.ico;*.bmp|All Files (*.*)|*.*||");
+static TCHAR bakfilter[] = _T("Backup files (*.bak)|*.bak|All Files (*.*)|*.*||");
+static TCHAR exefilter[] = _T("Executable files (*.exe)|*.exe|All Files (*.*)|*.*||");
//AFX_MANAGE_STATE( AfxGetStaticModuleState());
-CString CGmeDlg::getDirectory( const CString& text = "Specify the icons directory")
+CString CGmeDlg::getDirectory( const CString& text = _T("Specify the icons directory"))
{
BROWSEINFO bi;
TCHAR szDir[MAX_PATH];
- CString Dir = "";
+ CString Dir = _T("");
LPITEMIDLIST pidl;
LPMALLOC pMalloc;
OleInitialize(NULL);
@@ -147,10 +147,10 @@
}
else
{ // Selected 'Not to save'
- return "";
+ return _T("");
}
Dir = szDir;
- //Dir += "\\";
+ //Dir += _T("\\");
}
// end of getting directory info
return Dir;
@@ -201,7 +201,7 @@
HRESULT hResult = S_OK;
- m_ScriptEgines.InsertColumn( 0, "", LVCFMT_LEFT, 205, -1 );
+ m_ScriptEgines.InsertColumn( 0, _T(""), LVCFMT_LEFT, 205, -1 );
memcpy(&ourCatID, &CATID_ActiveScript, sizeof(ourCatID));
// memcpy(&ourCatID, &CATID_ActiveScriptParse, sizeof(ourCatID));
@@ -226,7 +226,7 @@
hResult = ProgIDFromCLSID(ourCLSID, &str);
{
- COLE2CT pszString(str);
+ CString pszString(str);
LVITEM lvItem;
lvItem.mask = LVIF_PARAM | LVIF_STATE | LVIF_TEXT;
@@ -243,8 +243,9 @@
lvItem.iSubItem = 0;
lvItem.lParam = lvItem.iItem;
- lvItem.pszText = (char*)pszString;
+ lvItem.pszText = pszString.GetBuffer(pszString.GetLength());
int ret = m_ScriptEgines.InsertItem( &lvItem );
+ pszString.ReleaseBuffer();
}
}
if (!sel)
@@ -274,7 +275,7 @@
m_isave = m_iconpath;
m_sysisave = m_sysiconpath;
CRegKey accessTest;
- if (accessTest.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\GME", KEY_READ | KEY_WRITE) == ERROR_ACCESS_DENIED) {
+ if (accessTest.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\GME"), KEY_READ | KEY_WRITE) == ERROR_ACCESS_DENIED) {
GetDlgItem(IDC_SYSICONPATH)->EnableWindow(false);
GetDlgItem(IDC_ADDSYSICONPATH)->EnableWindow(false);
}
@@ -322,7 +323,7 @@
// Script
COMTHROW( registrar->get_ScriptEngine(REGACCESS_USER, PutOut(m_scriptEngine)) );
- if (m_scriptEngine == "")
+ if (m_scriptEngine == _T(""))
m_scriptEngine = _T("JScript");
// Zoom
@@ -362,7 +363,7 @@
// Font smoothing mode
fillFontSmoothModeComboBox();
}
- MSGCATCH("Error while initializing GmeDlg",;)
+ MSGCATCH(_T("Error while initializing GmeDlg"),;)
AutosaveControlManager();
ExtControlManager();
@@ -467,7 +468,7 @@
//dlg.DoModal();
UpdateData(TRUE);
//m_autosave_dir = dlg.GetPath();
- m_autosave_dir = getDirectory("Select output directory for autosave");
+ m_autosave_dir = getDirectory(_T("Select output directory for autosave"));
UpdateData(FALSE);
}
@@ -563,10 +564,10 @@
CString str;
if (m_zoomList[k] > 0)
{
- char buff[100];
- _itoa(m_zoomList[k], buff, 10);
+ TCHAR buff[100];
+ _itot(m_zoomList[k], buff, 10);
str = buff;
- str += "%";
+ str += _T("%");
}
/*else // commented out for a while (see COMMENT above)
{
@@ -604,10 +605,10 @@
CString str;
if (level > 0)
{
- char buff[100];
- _itoa(level, buff, 10);
+ TCHAR buff[100];
+ _itot(level, buff, 10);
str = buff;
- str += "%";
+ str += _T("%");
}
/*else // for now do not accept: ZOOM_WIDTH, ZOOM_HEIGHT, ZOOM_ALL values from the registry, see COMMENT above
{
@@ -626,13 +627,13 @@
}*/
if( str.IsEmpty())
- str = "100%";
+ str = _T("100%");
return str;
}
CString CGmeDlg::getZoomValue()
{
- CString res("100");
+ CString res(_T("100"));
CWnd* zoom = 0;
zoom = GetDlgItem(IDC_ZOOMS);
if (zoom)
@@ -641,7 +642,7 @@
edit = (CEdit*)(zoom->GetDlgItem(1001));
if (edit)
{
- char buff[100];
+ TCHAR buff[100];
edit->GetLine(0, buff, sizeof(buff)-1);
int zv = 0;
@@ -668,7 +669,7 @@
if( l != 1 || zv < ZOOM_MIN || zv > ZOOM_MAX)
zv = 100;
- _itoa(zv, buff, 10);
+ _itot(zv, buff, 10);
res = buff;
}
}
@@ -733,8 +734,8 @@
edit = (CEdit*)( combo->GetDlgItem(1001));
if( edit)
{
- char buff[100];
- edit->GetLine(0, buff, sizeof(buff)-1);
+ TCHAR buff[100];
+ edit->GetLine(0, buff, sizeof(buff));
res = buff;
}
}
@@ -745,8 +746,8 @@
{
CComboBox* sz_list = 0;
sz_list = (CComboBox*)GetDlgItem(IDC_UNDOSIZE);
- sz_list->AddString("1");
- sz_list->AddString("10");
+ sz_list->AddString(_T("1"));
+ sz_list->AddString(_T("10"));
CString regv = getUndoQueueSizeFromReg();
int pos = sz_list->FindStringExact( -1, regv);
@@ -761,14 +762,14 @@
CString queuesize;
COMTHROW( registrar->GetUndoQueueSize( REGACCESS_USER, PutOut( queuesize)) );
if( queuesize.IsEmpty())
- queuesize = "10";
+ queuesize = _T("10");
return queuesize;
}
CString CGmeDlg::getUndoQueueSizeValue()
{
- CString res( "10");
+ CString res( _T("10"));
CWnd* combo = 0;
combo = GetDlgItem(IDC_UNDOSIZE);
if( combo)
@@ -777,9 +778,9 @@
edit = (CEdit*)( combo->GetDlgItem(1001));
if( edit)
{
- char buff[100];
- edit->GetLine(0, buff, sizeof(buff)-1);
- int value = atoi( buff);
+ TCHAR buff[100];
+ edit->GetLine(0, buff, sizeof(buff));
+ int value = _ttoi( buff);
if( value > 0 && value < 100) // above 0 and below 100
res = buff;
}
@@ -827,8 +828,8 @@
edit = (CEdit*)(combo->GetDlgItem(1001));
if (edit)
{
- char buff[100];
- edit->GetLine(0, buff, sizeof(buff)-1);
+ TCHAR buff[100];
+ edit->GetLine(0, buff, sizeof(buff));
res = buff;
}
}
@@ -888,8 +889,8 @@
edit = (CEdit*)(combo->GetDlgItem(1001));
if (edit)
{
- char buff[100];
- edit->GetLine(0, buff, sizeof(buff)-1);
+ TCHAR buff[100];
+ edit->GetLine(0, buff, sizeof(buff));
res = buff;
}
}
Modified: trunk/GME/MgaUtil/GmeDlg.h
==============================================================================
--- trunk/GME/MgaUtil/GmeDlg.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/GmeDlg.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -88,21 +88,21 @@
int m_zoomList[MAX_ZOOM];
- static const char* m_strZWidth; // "Fit Width";
- static const char* m_strZHeight; // "Fit Height";
- static const char* m_strZAll; // "Fit All";
+ static const TCHAR* m_strZWidth; // "Fit Width";
+ static const TCHAR* m_strZHeight; // "Fit Height";
+ static const TCHAR* m_strZAll; // "Fit All";
void fillZoomComboBox(int *list);
CString getZoomValueFromReg();
CString getZoomValue();
void setZoomValue(CString& val);
- static const char* m_strFmtStrg;
- static const char* m_strFmtStrf;
- static const char* m_strFmtStre;
- static const char* m_strFmtStrE;
- static const char* m_strFmtStrg2;
- static const char* m_strFmtStrf2;
+ static const TCHAR* m_strFmtStrg;
+ static const TCHAR* m_strFmtStrf;
+ static const TCHAR* m_strFmtStre;
+ static const TCHAR* m_strFmtStrE;
+ static const TCHAR* m_strFmtStrg2;
+ static const TCHAR* m_strFmtStrf2;
void fillFmtStrComboBox();
CString getFmtStrFromReg();
@@ -112,20 +112,20 @@
CString getUndoQueueSizeFromReg();
CString getUndoQueueSizeValue();
- static const char* m_strESStrD;
- static const char* m_strESStrHS;
- static const char* m_strESStrHQ;
+ static const TCHAR* m_strESStrD;
+ static const TCHAR* m_strESStrHS;
+ static const TCHAR* m_strESStrHQ;
void fillEdgeSmoothModeComboBox();
CString getEdgeSmoothModeStrFromReg();
edgesmoothmode_enum getEdgeSmoothModeValue();
- static const char* m_strFSStrSD;
- static const char* m_strFSStrSBPPGF;
- static const char* m_strFSStrSBPP;
- static const char* m_strFSStrAAGF;
- static const char* m_strFSStrAA;
- static const char* m_strFSStrCTGF;
+ static const TCHAR* m_strFSStrSD;
+ static const TCHAR* m_strFSStrSBPPGF;
+ static const TCHAR* m_strFSStrSBPP;
+ static const TCHAR* m_strFSStrAAGF;
+ static const TCHAR* m_strFSStrAA;
+ static const TCHAR* m_strFSStrCTGF;
void fillFontSmoothModeComboBox();
CString getFontSmoothModeStrFromReg();
Modified: trunk/GME/MgaUtil/MakeClosure.cpp
==============================================================================
--- trunk/GME/MgaUtil/MakeClosure.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MakeClosure.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -692,15 +692,14 @@
COMTHROW( obj->get_RegistryValue( CComBSTR( m_markerNode), &buf0));
// check if the new marker appears already in the marker list
- std::string str_buf;
- CopyTo( buf0, str_buf);
+ std::wstring str_buf = buf0;
- char buf1[12];
- sprintf( buf1, ",%i", m_markWith);
- std::string new_mrk( buf1);
+ TCHAR buf1[12];
+ swprintf_s( buf1, L",%i", m_markWith);
+ std::wstring new_mrk( buf1);
- str_buf += ","; // will ease the eos comparison
- new_mrk += ","; // and the exact match is guaranteed
+ str_buf += L","; // will ease the eos comparison
+ new_mrk += L","; // and the exact match is guaranteed
if( str_buf.find( new_mrk) == std::string::npos) // if marker not present
{
Modified: trunk/GME/MgaUtil/MetaDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/MetaDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MetaDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -71,12 +71,12 @@
ASSERT( registrar != NULL );
if(flags == METADLG_PARREG) {
- GetDlgItem(IDOK)->SetWindowText("Components...");
+ GetDlgItem(IDOK)->SetWindowText(_T("Components..."));
}
{
CRegKey accessTest;
- if (accessTest.Open(HKEY_LOCAL_MACHINE, "SOFTWARE\\GME", KEY_READ | KEY_WRITE) == ERROR_ACCESS_DENIED) {
+ if (accessTest.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\GME"), KEY_READ | KEY_WRITE) == ERROR_ACCESS_DENIED) {
GetDlgItem(IDC_RADIOSYS)->EnableWindow(false);
GetDlgItem(IDC_RADIOUSER)->EnableWindow(false);
GetDlgItem(IDC_RADIOBOTH)->EnableWindow(false);
@@ -86,29 +86,29 @@
LV_COLUMN lvc;
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
- lvc.pszText = "Paradigm";
+ lvc.pszText = _T("Paradigm");
lvc.cx = 100;
VERIFYTHROW( m_list.InsertColumn(0, &lvc) != -1 );
- lvc.pszText = "S";
+ lvc.pszText = _T("S");
lvc.cx = 20;
VERIFYTHROW( m_list.InsertColumn(1, &lvc) != -1 );
- lvc.pszText = "Version";
+ lvc.pszText = _T("Version");
lvc.cx = 50;
VERIFYTHROW( m_list.InsertColumn(2, &lvc) != -1 );
- lvc.pszText = "Connection string";
+ lvc.pszText = _T("Connection string");
lvc.cx = 500;
VERIFYTHROW( m_list.InsertColumn(3, &lvc) != -1 );
- lvc.pszText = "GUID";
+ lvc.pszText = _T("GUID");
lvc.cx = 300;
VERIFYTHROW( m_list.InsertColumn(4, &lvc) != -1 );
ResetItems();
}
- MSGCATCH("Error while initializing MetaDlg",;)
+ MSGCATCH(_T("Error while initializing MetaDlg"),;)
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
@@ -140,13 +140,13 @@
CopyTo(paradigms[i], name);
CComVariant v;
- CString mode = "u";
+ CString mode = _T("u");
if( registrar->QueryParadigm(paradigms[i], PutOut(cstr), PutOut(v), REGACCESS_USER) != S_OK) {
- mode = "s";
+ mode = _T("s");
if( registrar->QueryParadigm(paradigms[i], PutOut(cstr), PutOut(v), REGACCESS_SYSTEM) != S_OK) {
- AfxMessageBox("Error reading registry data for paradigm " + name);
- mode = "?";
- cstr = "????";
+ AfxMessageBox(_T("Error reading registry data for paradigm ") + name);
+ mode = _T("?");
+ cstr = _T("????");
}
}
if(v.vt != VT_EMPTY) {
@@ -158,7 +158,7 @@
HRESULT hr = registrar->VersionFromGUID(paradigms[i], v, PutOut(version), mode == 'u' ? REGACCESS_USER : REGACCESS_SYSTEM);
if (FAILED(hr)) {
- version = "N/A";
+ version = _T("N/A");
}
int j = m_list.InsertItem(i, name);
@@ -175,12 +175,12 @@
}
}
-static char filter[] =
- "Paradigm Files (*.xmp)|*.xmp|"
- "Exported Files (*.xme;*.xml)|*.xme; *.xml|"
- "MGA Meta Files (*.mta)|*.mta|"
- "Microsoft Access Files (*.mdb)|*.mdb|"
- "All Files (*.*)|*.*||";
+static TCHAR filter[] =
+ _T("Paradigm Files (*.xmp)|*.xmp|")
+ _T("Exported Files (*.xme;*.xml)|*.xme; *.xml|")
+ _T("MGA Meta Files (*.mta)|*.mta|")
+ _T("Microsoft Access Files (*.mdb)|*.mdb|")
+ _T("All Files (*.*)|*.*||");
void CMetaDlg::OnAddfile()
@@ -200,45 +200,45 @@
CString ext = dlg.GetFileExt();
ext.MakeLower();
- if( ext == "" )
+ if( ext == _T("") )
{
switch( dlg.m_ofn.nFilterIndex )
{
case 1:
- conn = CString("XML=") + dlg.GetPathName() + ".xmp";
+ conn = CString(_T("XML=")) + dlg.GetPathName() + _T(".xmp");
break;
case 2:
- conn = CString("MGA=") + dlg.GetPathName() + ".mta";
+ conn = CString(_T("MGA=")) + dlg.GetPathName() + _T(".mta");
break;
case 3:
- conn = CString("DBQ=") + dlg.GetPathName() + ".mdb";
+ conn = CString(_T("DBQ=")) + dlg.GetPathName() + _T(".mdb");
break;
}
}
- else if( ext == "xmp" || ext == "xml" )
- conn = CString("XML=") + dlg.GetPathName();
- else if( ext == "mta" )
- conn = CString("MGA=") + dlg.GetPathName();
- else if( ext == "mdb" )
- conn = CString("DBQ=") + dlg.GetPathName();
+ else if( ext == _T("xmp") || ext == _T("xml") )
+ conn = CString(_T("XML=")) + dlg.GetPathName();
+ else if( ext == _T("mta") )
+ conn = CString(_T("MGA=")) + dlg.GetPathName();
+ else if( ext == _T("mdb") )
+ conn = CString(_T("DBQ=")) + dlg.GetPathName();
else
{
switch( dlg.m_ofn.nFilterIndex )
{
case 1:
case 2:
- conn = CString("XML=") + dlg.GetPathName();
+ conn = CString(_T("XML=")) + dlg.GetPathName();
break;
case 3:
- conn = CString("MGA=") + dlg.GetPathName();
+ conn = CString(_T("MGA=")) + dlg.GetPathName();
break;
case 4:
- conn = CString("DBQ=") + dlg.GetPathName();
+ conn = CString(_T("DBQ=")) + dlg.GetPathName();
break;
}
}
@@ -256,7 +256,7 @@
to_select = newname;
ResetItems();
}
- MSGCATCH("Error while registering paradigm",;)
+ MSGCATCH(_T("Error while registering paradigm"),;)
}
void CMetaDlg::OnRemove()
@@ -277,19 +277,19 @@
switch(regacc_translate(m_accessmode)) {
case REGACCESS_USER:
if(S_OK == registrar->QueryParadigm(PutInBstr(name), &dummyc, &dummyg, REGACCESS_SYSTEM)) {
- AfxMessageBox("Warning: Paradigm is still present in system registry");
+ AfxMessageBox(_T("Warning: Paradigm is still present in system registry"));
}
break;
case REGACCESS_SYSTEM:
if(S_OK == registrar->QueryParadigm(PutInBstr(name), &dummyc, &dummyg, REGACCESS_USER)) {
- AfxMessageBox("Warning: Paradigm is still present in user registry");
+ AfxMessageBox(_T("Warning: Paradigm is still present in user registry"));
}
break;
}
ResetItems();
}
}
- MSGCATCH("Error while removing paradigm",;)
+ MSGCATCH(_T("Error while removing paradigm"),;)
}
void CMetaDlg::OnAddDB()
@@ -327,10 +327,10 @@
}
db.Close();
}
- MSGCATCH("Error while registering paradigm",;)
+ MSGCATCH(_T("Error while registering paradigm"),;)
catch(...)
{
- DisplayError("Error while registering paradigm", E_EXCEPTION);
+ DisplayError(_T("Error while registering paradigm"), E_EXCEPTION);
}
}
@@ -342,7 +342,7 @@
m_remove.EnableWindow(pos != NULL);
GetDlgItem(IDOK)->EnableWindow(pos != NULL);
m_purge.EnableWindow(pos != NULL);
- to_select = pos ? m_list.GetItemText(m_list.GetNextSelectedItem(pos),0) : "";
+ to_select = pos ? m_list.GetItemText(m_list.GetNextSelectedItem(pos),0) : _T("");
return TRUE;
}
else if( wParam == IDC_LIST && ((NMHDR*)lParam)->code == NM_DBLCLK )
@@ -364,7 +364,7 @@
int i = m_list.GetNextSelectedItem(pos);
connstr = m_list.GetItemText(i, 3);
if(connstr[0] == '?') {
- AfxMessageBox("Error with selected paradigm");
+ AfxMessageBox(_T("Error with selected paradigm"));
return;
}
name = m_list.GetItemText(i, 0);
Modified: trunk/GME/MgaUtil/MetaPurgeDialog.cpp
==============================================================================
--- trunk/GME/MgaUtil/MetaPurgeDialog.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MetaPurgeDialog.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -65,26 +65,26 @@
LV_COLUMN lvc;
lvc.mask = LVCF_WIDTH | LVCF_TEXT;
- lvc.pszText = "S";
+ lvc.pszText = _T("S");
lvc.cx = 20;
VERIFYTHROW( m_list.InsertColumn(0, &lvc) != -1 );
- lvc.pszText = "Version";
+ lvc.pszText = _T("Version");
lvc.cx = 50;
VERIFYTHROW( m_list.InsertColumn(1, &lvc) != -1 );
- lvc.pszText = "GUID";
+ lvc.pszText = _T("GUID");
lvc.cx = 250;
VERIFYTHROW( m_list.InsertColumn(2, &lvc) != -1 );
- lvc.pszText = "Connection String";
+ lvc.pszText = _T("Connection String");
lvc.cx = 300;
VERIFYTHROW( m_list.InsertColumn(3, &lvc) != -1 );
ResetItems();
}
- MSGCATCH("Error while initializing MetaPurgeDlg",;)
+ MSGCATCH(_T("Error while initializing MetaPurgeDlg"),;)
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
@@ -130,7 +130,7 @@
CString connstr;
CString version;
- char statc = 'u';
+ TCHAR statc = 'u';
HRESULT hr = registrar->QueryParadigm(CComBSTR(paradigm), PutOut(connstr), &vv, REGACCESS_USER);
if(hr == E_NOTFOUND) {
statc = 's';
@@ -138,16 +138,16 @@
}
if(hr != S_OK) {
statc = ' ';
- connstr = "<<error reading this reg.entry>>";
+ connstr = _T("<<error reading this reg.entry>>");
}
hr = registrar->VersionFromGUID(CComBSTR(paradigm), vv, PutOut(version), statc == 'u' ? REGACCESS_USER : REGACCESS_SYSTEM);
if (FAILED(hr)) {
- version = "N/A";
+ version = _T("N/A");
}
int j;
- VERIFYTHROW( (j = m_list.InsertItem(i, CString(currentguid == guidnames[i] ? "*" : " ") + statc)) != -1 );
+ VERIFYTHROW( (j = m_list.InsertItem(i, CString(currentguid == guidnames[i] ? _T("*") : _T(" ")) + statc)) != -1 );
VERIFYTHROW( m_list.SetItemText(j, 1, version) != 0 );
VERIFYTHROW( m_list.SetItemText(j, 2, PutInCString(guidnames[i])) != 0 );
VERIFYTHROW( m_list.SetItemText(j, 3, connstr) != 0 );
@@ -174,13 +174,13 @@
CopyTo(gg, vv);
COMTHROW( registrar->UnregisterParadigmGUID(CComBSTR(paradigm), vv, cur[1] == 's' ? REGACCESS_SYSTEM : REGACCESS_USER) );
CString delcstr = m_list.GetItemText(i,3);
- if(m_delfiles != 0 || delcstr.Find("MGA=") != 0) continue;
+ if(m_delfiles != 0 || delcstr.Find(_T("MGA=")) != 0) continue;
DeleteFile(LPCTSTR(delcstr)+4);
}
ResetItems();
}
- MSGCATCH("Error while removing items",;)
+ MSGCATCH(_T("Error while removing items"),;)
}
void CMetaPurgeDialog::OnSetcurrent()
@@ -206,7 +206,7 @@
ResetItems();
}
- MSGCATCH("Error while setting current version",;)
+ MSGCATCH(_T("Error while setting current version"),;)
}
void CMetaPurgeDialog::OnClose()
Modified: trunk/GME/MgaUtil/MgaClosure.cpp
==============================================================================
--- trunk/GME/MgaUtil/MgaClosure.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaClosure.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -25,7 +25,7 @@
COMTHROW( rf->get_RegistryValue( CComBSTR( m_projLastClosureNode), PutOut( cst0)));
int t_val = -1;
- if( 1 == _stscanf( (LPCTSTR) cst0, "%i", &t_val))
+ if( 1 == _stscanf( (LPCTSTR) cst0, _T("%i"), &t_val))
{
*p_pMarkWith = t_val;
}
@@ -48,7 +48,7 @@
COMTHROW( p_project->get_RootFolder( PutOut( rf)));
CString cst;
- cst.Format( "%i", p_iMarkWith);
+ cst.Format( _T("%i"), p_iMarkWith);
COMTHROW( rf->put_RegistryValue( CComBSTR( m_projLastClosureNode), CComBSTR( cst)));
}
Modified: trunk/GME/MgaUtil/MgaEventLogger.cpp
==============================================================================
--- trunk/GME/MgaUtil/MgaEventLogger.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaEventLogger.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -26,15 +26,15 @@
if(newLine)
{
CTime time = CTime::GetCurrentTime();
- CString CurrentTime = time.Format("%b %d, %H:%M:%S ");
- fprintf(EventLog,CurrentTime);
+ CString CurrentTime = time.Format(_T("%b %d, %H:%M:%S "));
+ _ftprintf(EventLog,CurrentTime);
newLine = false;
}
- if(s.Find("\r\n")!=-1)
+ if(s.Find(_T("\r\n"))!=-1)
{
newLine = true;
}
- fprintf(EventLog,s);
+ _ftprintf(EventLog, _T("%s"), s);
fflush(EventLog);
}
return S_OK;
@@ -45,20 +45,20 @@
if(!initialized) //if already initialized, don't do anything
{
CString path;
- char gmepath[200];
+ TCHAR gmepath[200];
if(SHGetSpecialFolderPath( NULL, gmepath, CSIDL_APPDATA, true)) //most likely C:\Documents and Settings\<username>\Application Data
{
- path = CString(gmepath) + "\\GME"; // add \GME to the path
- _mkdir(path.GetBuffer(4)); //in case GME dir not there, make it, if this function fails because GME already exists, don't care
+ path = CString(gmepath) + _T("\\GME"); // add \GME to the path
+ _tmkdir(path.GetBuffer(4)); //in case GME dir not there, make it, if this function fails because GME already exists, don't care
CTime time = CTime::GetCurrentTime(); //to make unique logfile names
- CString CurrentTime = time.Format( "\\GME_%b-%d_%H.%M.%S.log" );
- EventLog = fopen(path+CurrentTime,"w");
+ CString CurrentTime = time.Format( _T("\\GME_%b-%d_%H.%M.%S.log") );
+ EventLog = _tfopen(path+CurrentTime,_T("w"));
if (EventLog != NULL) //fopen succeded
{
initialized = true;
newLine = true;
- CComBSTR b = "CMgaEventLogger::StartLogging\r\n";
+ CComBSTR b = L"CMgaEventLogger::StartLogging\r\n";
LogEvent(b);
}
}
@@ -70,7 +70,7 @@
{
if(initialized)
{
- CComBSTR b = "CMgaEventLogger::StopLogging\r\n";
+ CComBSTR b = L"CMgaEventLogger::StopLogging\r\n";
LogEvent(b);
fflush(EventLog);
fclose(EventLog);
@@ -82,7 +82,7 @@
STDMETHODIMP CMgaEventLogger::EmergencyEvent()
{
- CComBSTR b = "CMgaEventLogger::EmergencyEvent\r\n";
+ CComBSTR b = L"CMgaEventLogger::EmergencyEvent\r\n";
LogEvent(b);
StopLogging();
return S_OK;
Modified: trunk/GME/MgaUtil/MgaLauncher.cpp
==============================================================================
--- trunk/GME/MgaUtil/MgaLauncher.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaLauncher.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -10,6 +10,9 @@
#include "AnnotationBrowserDlg.h"
#include "CommonComponent.h"
+#include <comutil.h>
+#include <comdef.h>
+
#include "CrashRpt.h"
#ifdef _DEBUG
#pragma comment(lib, "CrashRptd.lib")
@@ -47,7 +50,7 @@
{
COMTRY
{
- CopyTo(p, paradigmname);
+ paradigmname = p;
}
COMCATCH(;)
}
@@ -74,7 +77,7 @@
COMTRY
{
- CopyTo(paradigmname, p);
+ CopyTo(paradigmname, p);
}
COMCATCH(;)
}
@@ -295,7 +298,7 @@
// kind.SetWindowText(txt);
metaref_type mid = 0;
COMTHROW(metaFco->get_MetaRef(&mid));
- metaid.Format("%ld",(long)mid);
+ metaid.Format(_T("%ld"),(long)mid);
}
@@ -303,7 +306,7 @@
bool first = true;
- aspect = "-";
+ aspect = _T("-");
CComPtr<IMgaParts> parts;
COMTHROW(fco->get_Parts(&parts));
@@ -311,7 +314,7 @@
if(parts != NULL) {
- aspect = "";
+ aspect = _T("");
MGACOLL_ITERATE(IMgaPart,parts) {
@@ -324,7 +327,7 @@
COMTHROW( impart_ix->get_MetaAspect(&asp) );
COMTHROW( asp->get_Name(&aspname) );
- if (!first) { aspect += "; "; }
+ if (!first) { aspect += _T("; "); }
else { first = false; }
aspect += CString(aspname);
@@ -340,7 +343,7 @@
if (vb_pri_asp != VARIANT_FALSE) {
- aspect += " (primary)";
+ aspect += _T(" (primary)");
}
}
MGACOLL_ITERATE_END;
@@ -369,11 +372,11 @@
COMTHROW( fco->put_Name( CComBSTR(ccpd.name)) );
}
- long rl = strtol(ccpd.m_relid,NULL,0);
+ long rl = _tcstol(ccpd.m_relid,NULL,0);
if(rl != relid) {
- if(rl <= 0) AfxMessageBox("Invalid RelID value, ignored");
- else if(IDOK ==AfxMessageBox("Setting Relative ID-s"
- " is a dangerous operation.\nProceed?",
+ if(rl <= 0) AfxMessageBox(_T("Invalid RelID value, ignored"));
+ else if(IDOK ==AfxMessageBox(_T("Setting Relative ID-s")
+ _T(" is a dangerous operation.\nProceed?"),
MB_OKCANCEL)) {
COMTHROW( fco->put_RelID( rl) );
@@ -384,10 +387,10 @@
} else {
- AfxMessageBox("Non-simple connections currently unsupported object type for Properties.");
+ AfxMessageBox(_T("Non-simple connections currently unsupported object type for Properties."));
}
-// AfxMessageBox("Connections currently unsupported object type for Properties.");
+// AfxMessageBox(_T("Connections currently unsupported object type for Properties."));
} else {
@@ -401,11 +404,11 @@
COMTHROW( fco->put_Name( CComBSTR(cpd.name)) );
}
- long rl = strtol(cpd.m_relid,NULL,0);
+ long rl = _tcstol(cpd.m_relid,NULL,0);
if(rl != cpd.relid) {
- if(rl <= 0) AfxMessageBox("Invalid RelID value, ignored");
- else if(IDOK ==AfxMessageBox("Setting Relative ID-s"
- " is a dangerous operation.\nProceed?",
+ if(rl <= 0) AfxMessageBox(_T("Invalid RelID value, ignored"));
+ else if(IDOK ==AfxMessageBox(_T("Setting Relative ID-s")
+ _T(" is a dangerous operation.\nProceed?"),
MB_OKCANCEL)) {
COMTHROW( fco->put_RelID( rl) );
}
@@ -426,11 +429,11 @@
COMTHROW( folder->put_Name( CComBSTR(cpd.name)) );
}
- long rl = strtol(cpd.m_relid,NULL,0);
+ long rl = _tcstol(cpd.m_relid,NULL,0);
if(rl != cpd.relid) {
- if(rl <= 0) AfxMessageBox("Invalid RelID value, ignored");
- else if(IDOK ==AfxMessageBox("Setting Relative ID-s"
- " is a dangerous operation.\nProceed?",
+ if(rl <= 0) AfxMessageBox(_T("Invalid RelID value, ignored"));
+ else if(IDOK ==AfxMessageBox(_T("Setting Relative ID-s")
+ _T(" is a dangerous operation.\nProceed?"),
MB_OKCANCEL)) {
COMTHROW( folder->put_RelID( rl) );
}
@@ -440,11 +443,11 @@
}
else {
- AfxMessageBox("Unsupported object type for Properties.");
+ AfxMessageBox(_T("Unsupported object type for Properties."));
}
-// AfxMessageBox("dummy PropDlg() implementation");
+// AfxMessageBox(_T("dummy PropDlg() implementation"));
}
COMCATCH(;)
@@ -458,7 +461,7 @@
{
#ifdef _DEBUG
- AfxMessageBox("dummy AttrDlg() implementation-- only in Debug version");
+ AfxMessageBox(_T("dummy AttrDlg() implementation-- only in Debug version"));
#endif
}
@@ -508,7 +511,7 @@
if( pos == NULL)
{
// No quotes found
- pos = strstr( key, _T("%1")); // Check for % 1, without quotes
+ pos = _tcsstr( key, _T("%1")); // Check for % 1, without quotes
if( pos == NULL) // No parameter at all...
pos = key+lstrlen( key)-1;
else
@@ -521,7 +524,8 @@
lstrcat(pos, _T(" "));
lstrcat(pos, url);
- hResult = (HINSTANCE)WinExec( key,showcmd);
+ // FIXME: should use CreateProcess
+ hResult = (HINSTANCE)WinExec( CStringA(key),showcmd);
}
}
}
@@ -548,7 +552,7 @@
}
CComBSTR bstrVal;
- CComBSTR bstr = "help";
+ CComBSTR bstr = L"help";
COMTHROW((imf != NULL) ?
imf->get_RegistryValue(bstr,&bstrVal)
:
@@ -607,19 +611,19 @@
if (!url.IsEmpty())
{
- CString gmeRoot("../");
+ CString gmeRoot(_T("../"));
// Use an absolute path based on the GME_ROOT environment variable, instead of a relative path if we can
- char* gme_root_env = NULL;
- gme_root_env = getenv("GME_ROOT");
+ TCHAR* gme_root_env = NULL;
+ gme_root_env = _tgetenv(_T("GME_ROOT"));
if (gme_root_env) {
- long len = strlen(gme_root_env);
+ long len = _tcslen(gme_root_env);
bool hasSlashAtTheEnd = (gme_root_env[len - 1] == '\\' || gme_root_env[len - 1] == '/');
gmeRoot = gme_root_env;
if (!hasSlashAtTheEnd)
gmeRoot = gmeRoot + "/";
}
- gmeRoot.Replace("\\", "/");
- CString fullUrl = CString("ms-its:") + gmeRoot + GME_UMAN_HOME + url;
+ gmeRoot.Replace(_T("\\"), _T("/"));
+ CString fullUrl = CString(_T("ms-its:")) + gmeRoot + GME_UMAN_HOME + url;
CWnd* mainWnd = AfxGetMainWnd();
HWND hwndCaller = NULL;
if (mainWnd != NULL)
@@ -627,15 +631,15 @@
HWND helpWnd = NULL;
helpWnd = ::HtmlHelp(hwndCaller, fullUrl, HH_DISPLAY_TOPIC, 0);
if (helpWnd == NULL && url != GME_UMAN_CONTENTS) {
- fullUrl = CString("ms-its:") + gmeRoot + GME_UMAN_HOME + GME_UMAN_CONTENTS;
+ fullUrl = CString(_T("ms-its:")) + gmeRoot + GME_UMAN_HOME + GME_UMAN_CONTENTS;
helpWnd = ::HtmlHelp(hwndCaller, fullUrl, HH_DISPLAY_TOPIC, 0);
}
if (helpWnd == NULL)
- AfxMessageBox("Couldn't find help file or help topic: " + fullUrl, MB_OK | MB_ICONSTOP);
+ AfxMessageBox(_T("Couldn't find help file or help topic: ") + fullUrl, MB_OK | MB_ICONSTOP);
}
else
{
- AfxMessageBox("No default help is available for selection!", MB_OK | MB_ICONSTOP);
+ AfxMessageBox(_T("No default help is available for selection!"), MB_OK | MB_ICONSTOP);
}
}
}
@@ -693,8 +697,8 @@
if( comps.GetSize() == 0 )
{
- if( AfxMessageBox("There are no registered interpreters for this paradigm. "
- "Do you want to install your interpreter now?", MB_YESNO) != IDYES )
+ if( AfxMessageBox(_T("There are no registered interpreters for this paradigm. ")
+ _T("Do you want to install your interpreter now?"), MB_YESNO) != IDYES )
COMRETURN(S_FALSE);
}
@@ -703,7 +707,7 @@
else
{
CCompDlg dlg;
- dlg.onOKoper = "Interpret...";
+ dlg.onOKoper = _T("Interpret...");
dlg.paradigm = parname;
dlg.type = COMPONENTTYPE_INTERPRETER;
@@ -725,43 +729,43 @@
CString compname = prgid;
if(type & COMPONENTTYPE_SCRIPT) {
CComBSTR engine, scriptfile;
- COMTHROW(registrar->get_ComponentExtraInfo(REGACCESS_PRIORITY, prgid, CComBSTR("ExecEngine"), &engine));
- COMTHROW(registrar->get_ComponentExtraInfo(REGACCESS_PRIORITY, prgid, CComBSTR("ScriptFile"), &scriptfile));
+ COMTHROW(registrar->get_ComponentExtraInfo(REGACCESS_PRIORITY, prgid, CComBSTR(L"ExecEngine"), &engine));
+ COMTHROW(registrar->get_ComponentExtraInfo(REGACCESS_PRIORITY, prgid, CComBSTR(L"ScriptFile"), &scriptfile));
if(!engine || !scriptfile) {
- AfxMessageBox("Incomplete registration for script component "+ compname);
+ AfxMessageBox(_T("Incomplete registration for script component ")+ compname);
}
- compname += " (" + CString(engine) + ")";
+ compname += _T(" (") + CString(engine) + _T(")");
COMTHROW( component.CoCreateInstance(engine) );
CComQIPtr<IMgaComponentEx> compex = component;
if(!compex) {
- AfxMessageBox("Exec.engine is only supported with extended component interface");
+ AfxMessageBox(_T("Exec.engine is only supported with extended component interface"));
COMRETURN(E_MGA_NOT_SUPPORTED);
}
if(scriptfile) {
- COMTHROW(compex->put_ComponentParameter(CComBSTR("script"), CComVariant(scriptfile)));
+ COMTHROW(compex->put_ComponentParameter(CComBSTR(L"script"), CComVariant(scriptfile)));
}
}
else COMTHROW(CreateMgaComponent(component, prgid)); // Before DispatchProxy: COMTHROW(component.CoCreateInstance(prgid));
if(component == NULL) {
- AfxMessageBox(CString("Could not start component ") + compname);
+ AfxMessageBox(CString(_T("Could not start component ")) + compname);
}
else {
CComQIPtr<IGMEVersionInfo> vi = component;
if(!vi) {
- if(AfxMessageBox( "This component does not provide interface version information\n"
- "It is probably incompatible with GME\n"
- "Do you want to proceed anyway?" , MB_YESNO) !=IDYES) return S_OK;
+ if(AfxMessageBox( _T("This component does not provide interface version information\n")
+ _T("It is probably incompatible with GME\n")
+ _T("Do you want to proceed anyway?") , MB_YESNO) !=IDYES) return S_OK;
}
else {
GMEInterfaceVersion vv;
COMTHROW(vi->get_version(&vv));
if(vv != INTERFACE_VERSION) {
CString aa;
- aa.Format("The interface version number of this component (%d.%d) differs from the GME version (%d.%d)\n"
- "This will probably result in serious malfunctions\n"
- "Do you want to proceed anyway?", vv/0x10000,vv%0x10000, INTERFACE_VERSION/0x10000, INTERFACE_VERSION%0x10000);
+ aa.Format(_T("The interface version number of this component (%d.%d) differs from the GME version (%d.%d)\n")
+ _T("This will probably result in serious malfunctions\n")
+ _T("Do you want to proceed anyway?"), vv/0x10000,vv%0x10000, INTERFACE_VERSION/0x10000, INTERFACE_VERSION%0x10000);
if(AfxMessageBox(aa, MB_YESNO) !=IDYES) return S_OK;
}
}
@@ -773,20 +777,19 @@
// Need to catch SEH exceptions (especially for Win7 x64: see GME-318)
if (SUCCEEDED(hr) && !InvokeExWithCrashRpt(compex, project, focusobj, selectedobjs, param, hr)) {
project->AbortTransaction();
- AfxMessageBox("An error has occurred in component " + compname + ".\n"
- "GME may not be in a stable state.\n"
- "Please save your work and restart GME.");
+ AfxMessageBox(_T("An error has occurred in component ") + compname + _T(".\n")
+ _T("GME may not be in a stable state.\n")
+ _T("Please save your work and restart GME."));
} else {
if (!SUCCEEDED(hr)) {
- BSTR desc = NULL;
- if (supportErrorInfo && GetErrorInfo(&desc)) {
- CString msg;
- CopyTo(desc, msg);
+ _bstr_t desc;
+ if (supportErrorInfo && GetErrorInfo(desc.GetAddress())) {
+ CString msg = static_cast<const TCHAR*>(desc);
msg = "Interpreter returned error: " + msg;
AfxMessageBox(msg, MB_OK | MB_ICONSTOP);
SysFreeString(desc);
} else {
- DisplayError("Interpreter returned error", hr);
+ DisplayError(_T("Interpreter returned error"), hr);
}
project->AbortTransaction();
}
@@ -809,14 +812,14 @@
}
catch(hresult_exception &e) {
project->AbortTransaction();
- DisplayError("Interpreter returned error", e.hr);
+ DisplayError(_T("Interpreter returned error"), e.hr);
}
catch(...)
{
project->AbortTransaction();
- AfxMessageBox("An error has occurred in component " + compname + ".\n"
- "GME may not be in a stable state.\n"
- "Please save your work and restart GME.");
+ AfxMessageBox(_T("An error has occurred in component ") + compname + _T(".\n")
+ _T("GME may not be in a stable state.\n")
+ _T("Please save your work and restart GME."));
}
}
}
@@ -843,7 +846,7 @@
}
}
catch(hresult_exception &e) {
- DisplayError("Interpreter returned error", e.hr);
+ DisplayError(_T("Interpreter returned error"), e.hr);
}
}
}
@@ -866,21 +869,21 @@
if( q < 0 )
q = conn.GetLength();
- CString part((const char*)conn + p, q-p);
+ CString part((const TCHAR*)conn + p, q-p);
int r = part.Find('=');
if( r < 0 )
r = part.GetLength();
- CString key((const char*)part, r);
+ CString key((const TCHAR*)part, r);
- if( key == "UID" ||
- key == "PWD" ||
- key == "USER" ||
- key == "PASSWORD" )
+ if( key == _T("UID") ||
+ key == _T("PWD") ||
+ key == _T("USER") ||
+ key == _T("PASSWORD") )
{
if( !ret.IsEmpty() )
- ret += ";";
+ ret += _T(";");
ret += part;
}
@@ -926,7 +929,7 @@
}
}
else {
- AfxMessageBox("Unsupported object type for Annotation Browser.");
+ AfxMessageBox(_T("Unsupported object type for Annotation Browser."));
}
}
COMCATCH(;)
Modified: trunk/GME/MgaUtil/MgaProgressDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/MgaProgressDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaProgressDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -18,7 +18,7 @@
{
COMTRY
{
- CopyTo(t, title);
+ title = t;
if( dlg.m_hWnd != NULL )
dlg.SetWindowText(title);
@@ -35,7 +35,7 @@
COMTRY
{
- CopyTo(msg, lines[line]);
+ lines[line] = msg;
if( dlg.m_hWnd != NULL )
dlg.GetDlgItem(nIDs[line])->SetWindowText(lines[line]);
Modified: trunk/GME/MgaUtil/MgaRegistrar.cpp
==============================================================================
--- trunk/GME/MgaUtil/MgaRegistrar.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaRegistrar.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -28,7 +28,7 @@
const CString rootreg(_T("SOFTWARE\\GME"));
-CString QueryValue(CRegKey &key, const char *name)
+CString QueryValue(CRegKey &key, const TCHAR *name)
{
CString buffer;
TCHAR *bufp = buffer.GetBuffer(4096);
@@ -74,8 +74,8 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "IconPath");
- str.TrimRight(" ;,\t");
+ str = QueryValue(mga, _T("IconPath"));
+ str.TrimRight(_T(" ;,\t"));
if(!str.IsEmpty()) REVOKE_SYS2(mode);
}
}
@@ -84,9 +84,9 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- CString str2 = QueryValue(mga, "IconPath");
- str2.TrimLeft(" ;,\t");
- if(!str.IsEmpty() && !str2.IsEmpty()) str += ";";
+ CString str2 = QueryValue(mga, _T("IconPath"));
+ str2.TrimLeft(_T(" ;,\t"));
+ if(!str.IsEmpty() && !str2.IsEmpty()) str += _T(";");
str += str2;
}
}
@@ -99,17 +99,16 @@
{
COMTRY
{
- CString str;
- CopyTo(path, str);
+ CString str = path;
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "IconPath", str ));
+ ERRTHROW( mga.SetStringValue( _T("IconPath"), str ));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "IconPath", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("IconPath"), str));
}
}
COMCATCH(;)
@@ -126,7 +125,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ShowMultipleView");
+ str = QueryValue(mga, _T("ShowMultipleView"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -137,10 +136,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ShowMultipleView");
+ str = QueryValue(mga, _T("ShowMultipleView"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -149,16 +148,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "ShowMultipleView", str));
+ ERRTHROW( mga.SetStringValue( _T("ShowMultipleView"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "ShowMultipleView", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("ShowMultipleView"), str));
}
}
COMCATCH(;)
@@ -175,7 +174,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "EventLoggingEnabled");
+ str = QueryValue(mga, _T("EventLoggingEnabled"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -186,10 +185,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "EventLoggingEnabled");
+ str = QueryValue(mga, _T("EventLoggingEnabled"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -198,16 +197,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "EventLoggingEnabled", str));
+ ERRTHROW( mga.SetStringValue( _T("EventLoggingEnabled"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "EventLoggingEnabled", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("EventLoggingEnabled"), str));
}
}
COMCATCH(;)
@@ -224,7 +223,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveEnabled");
+ str = QueryValue(mga, _T("AutosaveEnabled"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -235,10 +234,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveEnabled");
+ str = QueryValue(mga, _T("AutosaveEnabled"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -247,16 +246,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "AutosaveEnabled", str));
+ ERRTHROW( mga.SetStringValue( _T("AutosaveEnabled"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "AutosaveEnabled", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("AutosaveEnabled"), str));
}
}
COMCATCH(;)
@@ -273,7 +272,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveFreq");
+ str = QueryValue(mga, _T("AutosaveFreq"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -284,10 +283,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveFreq");
+ str = QueryValue(mga, _T("AutosaveFreq"));
}
}
- if (_stscanf((LPCTSTR)str, "%ld", secs) != 1) {
+ if (_stscanf((LPCTSTR)str, _T("%ld"), secs) != 1) {
*secs = 60; // Default value: 1 minute
}
}
@@ -299,16 +298,16 @@
COMTRY
{
CString str;
- str.Format("%ld", secs);
+ str.Format(_T("%ld"), secs);
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "AutosaveFreq", str));
+ ERRTHROW( mga.SetStringValue( _T("AutosaveFreq"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "AutosaveFreq", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("AutosaveFreq"), str));
}
}
COMCATCH(;)
@@ -325,7 +324,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveUseDir");
+ str = QueryValue(mga, _T("AutosaveUseDir"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -336,10 +335,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveUseDir");
+ str = QueryValue(mga, _T("AutosaveUseDir"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -348,16 +347,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "AutosaveUseDir", str));
+ ERRTHROW( mga.SetStringValue( _T("AutosaveUseDir"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "AutosaveUseDir", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("AutosaveUseDir"), str));
}
}
COMCATCH(;)
@@ -376,7 +375,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveDir");
+ str = QueryValue(mga, _T("AutosaveDir"));
}
}
if(mode & (RM_SYSDOREAD)) {
@@ -384,7 +383,7 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "AutosaveDir");
+ str = QueryValue(mga, _T("AutosaveDir"));
}
}
CopyTo(str, dir);
@@ -396,17 +395,16 @@
{
COMTRY
{
- CString str;
- CopyTo(dir, str);
+ CString str = dir;
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "AutosaveDir", str));
+ ERRTHROW( mga.SetStringValue( _T("AutosaveDir"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "AutosaveDir", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("AutosaveDir"), str));
}
}
COMCATCH(;)
@@ -424,7 +422,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ExternalEditorEnabled");
+ str = QueryValue(mga, _T("ExternalEditorEnabled"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -435,10 +433,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ExternalEditorEnabled");
+ str = QueryValue(mga, _T("ExternalEditorEnabled"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -447,16 +445,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "ExternalEditorEnabled", str));
+ ERRTHROW( mga.SetStringValue( _T("ExternalEditorEnabled"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "ExternalEditorEnabled", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("ExternalEditorEnabled"), str));
}
}
COMCATCH(;)
@@ -475,7 +473,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ExternalEditor");
+ str = QueryValue(mga, _T("ExternalEditor"));
}
}
if(mode & (RM_SYSDOREAD)) {
@@ -483,7 +481,7 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ExternalEditor");
+ str = QueryValue(mga, _T("ExternalEditor"));
}
}
CopyTo(str, path);
@@ -495,17 +493,16 @@
{
COMTRY
{
- CString str;
- CopyTo(path, str);
+ CString str = path;
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "ExternalEditor", str));
+ ERRTHROW( mga.SetStringValue( _T("ExternalEditor"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "ExternalEditor", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("ExternalEditor"), str));
}
}
COMCATCH(;)
@@ -523,7 +520,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "UseAutoRouting");
+ str = QueryValue(mga, _T("UseAutoRouting"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -534,10 +531,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "UseAutoRouting");
+ str = QueryValue(mga, _T("UseAutoRouting"));
}
}
- *enabled = (str == "0") ? VARIANT_FALSE : VARIANT_TRUE; // Default value: true
+ *enabled = (str == _T("0")) ? VARIANT_FALSE : VARIANT_TRUE; // Default value: true
}
COMCATCH(;)
}
@@ -547,16 +544,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "UseAutoRouting", str));
+ ERRTHROW( mga.SetStringValue( _T("UseAutoRouting"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "UseAutoRouting", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("UseAutoRouting"), str));
}
}
COMCATCH(;)
@@ -574,7 +571,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "LabelAvoidance");
+ str = QueryValue(mga, _T("LabelAvoidance"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -585,10 +582,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "LabelAvoidance");
+ str = QueryValue(mga, _T("LabelAvoidance"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -598,16 +595,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "LabelAvoidance", str));
+ ERRTHROW( mga.SetStringValue( _T("LabelAvoidance"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "LabelAvoidance", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("LabelAvoidance"), str));
}
}
COMCATCH(;)
@@ -625,8 +622,8 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "ScriptEngine");
- str.TrimRight(" ;,\t");
+ str = QueryValue(mga, _T("ScriptEngine"));
+ str.TrimRight(_T(" ;,\t"));
if(!str.IsEmpty()) REVOKE_SYS2(mode);
}
}
@@ -635,9 +632,9 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- CString str2 = QueryValue(mga, "ScriptEngine");
- str2.TrimLeft(" ;,\t");
- if(!str.IsEmpty() && !str2.IsEmpty()) str += ";";
+ CString str2 = QueryValue(mga, _T("ScriptEngine"));
+ str2.TrimLeft(_T(" ;,\t"));
+ if(!str.IsEmpty() && !str2.IsEmpty()) str += _T(";");
str += str2;
}
}
@@ -649,17 +646,16 @@
STDMETHODIMP CMgaRegistrar::put_ScriptEngine(regaccessmode_enum mode, BSTR path) {
COMTRY
{
- CString str;
- CopyTo(path, str);
+ CString str = path;
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue("ScriptEngine", str) );//z7
+ ERRTHROW( mga.SetStringValue(_T("ScriptEngine"), str) );//z7
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue("ScriptEngine", str) );//z7
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue(_T("ScriptEngine"), str) );//z7
}
}
COMCATCH(;)
@@ -677,7 +673,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "DefaultZoomLevel");
+ str = QueryValue(mga, _T("DefaultZoomLevel"));
if(!str.IsEmpty()) REVOKE_SYS2(p_mode);
}
}
@@ -686,7 +682,7 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "DefaultZoomLevel");
+ str = QueryValue(mga, _T("DefaultZoomLevel"));
}
}
CopyTo(str, p_zlev);
@@ -699,17 +695,16 @@
{
COMTRY
{
- CString str;
- CopyTo(p_zlev, str);
+ CString str = p_zlev;
if(p_mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "DefaultZoomLevel", str));
+ ERRTHROW( mga.SetStringValue( _T("DefaultZoomLevel"), str));
}
if(p_mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( "DefaultZoomLevel", str));
+ if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("DefaultZoomLevel"), str));
}
}
COMCATCH(;)
@@ -727,7 +722,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "MouseOverNotify");
+ str = QueryValue(mga, _T("MouseOverNotify"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -738,10 +733,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "MouseOverNotify");
+ str = QueryValue(mga, _T("MouseOverNotify"));
}
}
- *enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -751,16 +746,16 @@
{
COMTRY
{
- CString str = (enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "MouseOverNotify", str));
+ ERRTHROW( mga.SetStringValue( _T("MouseOverNotify"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "MouseOverNotify", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("MouseOverNotify"), str));
}
}
COMCATCH(;)
@@ -778,7 +773,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "RealNmbFmtStr");
+ str = QueryValue(mga, _T("RealNmbFmtStr"));
if(!str.IsEmpty()) REVOKE_SYS2(p_mode);
}
}
@@ -787,7 +782,7 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "RealNmbFmtStr");
+ str = QueryValue(mga, _T("RealNmbFmtStr"));
}
}
CopyTo(str, p_fmtStr);
@@ -800,17 +795,16 @@
{
COMTRY
{
- CString str;
- CopyTo(p_fmtStr, str);
+ CString str = p_fmtStr;
if(p_mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "RealNmbFmtStr", str));
+ ERRTHROW( mga.SetStringValue( _T("RealNmbFmtStr"), str));
}
if(p_mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( "RealNmbFmtStr", str));
+ if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("RealNmbFmtStr"), str));
}
}
COMCATCH(;)
@@ -827,7 +821,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "TimeStamping");
+ str = QueryValue(mga, _T("TimeStamping"));
if(!str.IsEmpty()) {
REVOKE_SYS2(p_mode);
}
@@ -838,10 +832,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "TimeStamping");
+ str = QueryValue(mga, _T("TimeStamping"));
}
}
- *p_enabled = (str == "1") ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
+ *p_enabled = (str == _T("1")) ? VARIANT_TRUE : VARIANT_FALSE; // Default value: false
}
COMCATCH(;)
}
@@ -850,16 +844,16 @@
{
COMTRY
{
- CString str = (p_enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (p_enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(p_mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "TimeStamping", str));
+ ERRTHROW( mga.SetStringValue( _T("TimeStamping"), str));
}
if(p_mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( "TimeStamping", str));
+ if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("TimeStamping"), str));
}
}
COMCATCH(;)
@@ -876,7 +870,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "Navigation");
+ str = QueryValue(mga, _T("Navigation"));
if(!str.IsEmpty()) {
REVOKE_SYS2(p_mode);
}
@@ -887,10 +881,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "Navigation");
+ str = QueryValue(mga, _T("Navigation"));
}
}
- *p_enabled = (str == "0") ? VARIANT_FALSE : VARIANT_TRUE; // Default value: true
+ *p_enabled = (str == _T("0")) ? VARIANT_FALSE : VARIANT_TRUE; // Default value: true
}
COMCATCH(;)
}
@@ -899,16 +893,16 @@
{
COMTRY
{
- CString str = (p_enabled == VARIANT_FALSE) ? "0" : "1";
+ CString str = (p_enabled == VARIANT_FALSE) ? _T("0") : _T("1");
if(p_mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "Navigation", str));
+ ERRTHROW( mga.SetStringValue( _T("Navigation"), str));
}
if(p_mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( "Navigation", str));
+ if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("Navigation"), str));
}
}
COMCATCH(;)
@@ -926,7 +920,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "UndoQueueSize");
+ str = QueryValue(mga, _T("UndoQueueSize"));
if(!str.IsEmpty()) REVOKE_SYS2(p_mode);
}
}
@@ -935,7 +929,7 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "UndoQueueSize");
+ str = QueryValue(mga, _T("UndoQueueSize"));
}
}
CopyTo(str, p_qusz);
@@ -948,17 +942,16 @@
{
COMTRY
{
- CString str;
- CopyTo(p_qusz, str);
+ CString str = p_qusz;
if(p_mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "UndoQueueSize", str));
+ ERRTHROW( mga.SetStringValue( _T("UndoQueueSize"), str));
}
if(p_mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( "UndoQueueSize", str));
+ if(p_mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("UndoQueueSize"), str));
}
}
COMCATCH(;)
@@ -975,7 +968,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "EdgeSmoothMode");
+ str = QueryValue(mga, _T("EdgeSmoothMode"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -986,10 +979,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "EdgeSmoothMode");
+ str = QueryValue(mga, _T("EdgeSmoothMode"));
}
}
- *smoothMode = (edgesmoothmode_enum)(str.IsEmpty() ? 2 : strtol(str, NULL, 10));
+ *smoothMode = (edgesmoothmode_enum)(str.IsEmpty() ? 2 : _tcstol(str, NULL, 10));
}
COMCATCH(;)
}
@@ -999,16 +992,16 @@
COMTRY
{
CString str;
- str.Format("%d", smoothMode);
+ str.Format(_T("%d"), smoothMode);
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "EdgeSmoothMode", str));
+ ERRTHROW( mga.SetStringValue( _T("EdgeSmoothMode"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "EdgeSmoothMode", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("EdgeSmoothMode"), str));
}
}
COMCATCH(;)
@@ -1025,7 +1018,7 @@
res = mga.Open(HKEY_CURRENT_USER, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "FontSmoothMode");
+ str = QueryValue(mga, _T("FontSmoothMode"));
if(!str.IsEmpty()) {
REVOKE_SYS2(mode);
}
@@ -1036,10 +1029,10 @@
res = mga.Open(HKEY_LOCAL_MACHINE, rootreg, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- str = QueryValue(mga, "FontSmoothMode");
+ str = QueryValue(mga, _T("FontSmoothMode"));
}
}
- *smoothMode = (fontsmoothmode_enum)(str.IsEmpty() ? 4 : strtol(str, NULL, 10));
+ *smoothMode = (fontsmoothmode_enum)(str.IsEmpty() ? 4 : _tcstol(str, NULL, 10));
}
COMCATCH(;)
}
@@ -1049,16 +1042,16 @@
COMTRY
{
CString str;
- str.Format("%d", smoothMode);
+ str.Format(_T("%d"), smoothMode);
if(mode & RM_USER) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
- ERRTHROW( mga.SetStringValue( "FontSmoothMode", str));
+ ERRTHROW( mga.SetStringValue( _T("FontSmoothMode"), str));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
- if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( "FontSmoothMode", str));
+ if(mode & RM_SYS) ERRTHROW( mga.SetStringValue( _T("FontSmoothMode"), str));
}
}
COMCATCH(;)
@@ -1073,7 +1066,7 @@
CStringArray ret;
if(mode & RM_USER) {
CRegKey pars;
- LONG res = pars.Open(HKEY_CURRENT_USER, rootreg+"\\Paradigms", KEY_READ);
+ LONG res = pars.Open(HKEY_CURRENT_USER, rootreg+_T("\\Paradigms"), KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
for(int index = 0;; ++index) {
@@ -1093,7 +1086,7 @@
if(mode & RM_SYSDOREAD) {
CRegKey pars;
- LONG res = pars.Open(HKEY_LOCAL_MACHINE, rootreg+"\\Paradigms", KEY_READ);
+ LONG res = pars.Open(HKEY_LOCAL_MACHINE, rootreg+_T("\\Paradigms"), KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
for(int index = 0;; ++index) {
@@ -1151,18 +1144,18 @@
CString conn = connstr;
CString connrecent;
// we have to parse it
- if( conn.Left(4) == "XML=" )
+ if( conn.Left(4) == _T("XML=") )
{
CString file = conn.Mid(4);
- conn = "MGA=";
+ conn = _T("MGA=");
conn += file;
- if( conn.Right(4).CompareNoCase(".xml") == 0 ||
- conn.Right(4).CompareNoCase(".xmp") == 0 ) {
+ if( conn.Right(4).CompareNoCase(_T(".xml")) == 0 ||
+ conn.Right(4).CompareNoCase(_T(".xmp")) == 0 ) {
conn.Delete(conn.GetLength() - 4, 4);
}
- conn += ".mta";
+ conn += _T(".mta");
#define FILEPART(x) (((LPCTSTR)x)+4)
DWORD info = GetFileAttributes(FILEPART(conn));
if(info != 0xFFFFFFFF ) { // save old version of paradigm under another name
@@ -1179,19 +1172,19 @@
CopyTo(prevguid,gg);
CComBstrObj guidstr;
CopyTo(gg, guidstr);
- connrecent = conn.Left(conn.GetLength()-4)+"-"+CString(PutInCString(guidstr))+".mta";
+ connrecent = conn.Left(conn.GetLength()-4)+_T("-")+CString(PutInCString(guidstr))+_T(".mta");
bool sysmove = false, usermove = false;
conn1.Empty();
if(QueryParadigm(name, PutOut(conn1), &prevguid, REGACCESS_SYSTEM) == S_OK &&
conn1 == CComBSTR(conn)) { // if it was correctly registered in system
if(RegisterParadigm(name, PutInBstr(connrecent), prevversion, prevguid, REGACCESS_TEST) != S_OK) {
- AfxMessageBox("Cannot register this paradigm file\n"
- "an existing '.mta' file with the same name\n"
- "is registered in the system registry\n"
- "which you are not permitted to change.\n"
- "You need to change the name or location\n"
- "of the new paradigm file");
+ AfxMessageBox(_T("Cannot register this paradigm file\n")
+ _T("an existing '.mta' file with the same name\n")
+ _T("is registered in the system registry\n")
+ _T("which you are not permitted to change.\n")
+ _T("You need to change the name or location\n")
+ _T("of the new paradigm file"));
return E_INVALID_USAGE;
}
sysmove = true;;
@@ -1214,10 +1207,10 @@
}
}
} catch(hresult_exception(&e)) {
- AfxMessageBox(CString("Failure saving previous version of paradigm\n") +
+ AfxMessageBox(CString(_T("Failure saving previous version of paradigm\n")) +
e.what() +
- (e.hr == E_BINFILE?" [Binary paradigm file (.mta) incompatibility]\nPossible reason: GME version 6 changed the binary format of paradigms.":"") +
- "\nOld version will be overwritten");
+ (e.hr == E_BINFILE?_T(" [Binary paradigm file (.mta) incompatibility]\nPossible reason: GME version 6 changed the binary format of paradigms."):_T("")) +
+ _T("\nOld version will be overwritten"));
connrecent.Empty();
}
}
@@ -1326,53 +1319,53 @@
ERRTHROW(mga.Create(HKEY_CURRENT_USER, rootreg) );
CRegKey pars;
- ERRTHROW( pars.Create(mga, "Paradigms") );
+ ERRTHROW( pars.Create(mga, _T("Paradigms")) );
CRegKey par;
- ERRTHROW( par.Create(pars, PutInCString(name)) );
+ ERRTHROW( par.Create(pars, CString(name)) );
- ERRTHROW( par.SetStringValue( "CurrentVersion", PutInCString(guid3)));
+ ERRTHROW( par.SetStringValue( _T("CurrentVersion"), PutInCString(guid3)));
if (!cver.IsEmpty()) {
ERRTHROW( par.SetStringValue( cver, PutInCString(guid3)));
}
CRegKey parg;
ERRTHROW( parg.Create(par, PutInCString(guid3)) );
- ERRTHROW( parg.SetStringValue( "ConnStr", PutInCString(connstr)));
+ ERRTHROW( parg.SetStringValue( _T("ConnStr"), CString(connstr)));
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey mga;
ERRTHROW(mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
CRegKey pars;
- ERRTHROW( pars.Create(mga, "Paradigms") );
+ ERRTHROW( pars.Create(mga, _T("Paradigms")) );
CRegKey par;
if(mode & RM_SYS) {
- ERRTHROW( par.Create(pars, PutInCString(name)) );
- CString gg = QueryValue(par, "GUID");
- CString gc = QueryValue(par, "ConnStr");
- par.DeleteValue("GUID");
- par.DeleteValue("ConnStr");
+ ERRTHROW( par.Create(pars, CString(name)) );
+ CString gg = QueryValue(par, _T("GUID"));
+ CString gc = QueryValue(par, _T("ConnStr"));
+ par.DeleteValue(_T("GUID"));
+ par.DeleteValue(_T("ConnStr"));
if(!gc.IsEmpty() && !gg.IsEmpty()) {
CRegKey parg2;
ERRTHROW( parg2.Create(par, gg) );
- ERRTHROW( parg2.SetStringValue( "ConnStr", gc) );
+ ERRTHROW( parg2.SetStringValue( _T("ConnStr"), gc) );
}
- ERRTHROW( par.SetStringValue( "CurrentVersion", PutInCString(guid3)));
+ ERRTHROW( par.SetStringValue( _T("CurrentVersion"), PutInCString(guid3)));
if (!cver.IsEmpty()) {
ERRTHROW( par.SetStringValue( cver, PutInCString(guid3)));
}
CRegKey parg;
ERRTHROW( parg.Create(par, PutInCString(guid3)) );
- ERRTHROW( parg.SetStringValue( "ConnStr", PutInCString(connstr)));
+ ERRTHROW( parg.SetStringValue( _T("ConnStr"), CString(connstr)));
}
else {
- LONG res = par.Open(pars, PutInCString(name));
+ LONG res = par.Open(pars, CString(name));
if(res != ERROR_SUCCESS && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
}
}
@@ -1392,7 +1385,7 @@
CStringArray ret;
if(mode & RM_USER) {
CRegKey par;
- LONG res = par.Open(HKEY_CURRENT_USER, rootreg+"\\Paradigms\\" + pname, KEY_READ);
+ LONG res = par.Open(HKEY_CURRENT_USER, rootreg+_T("\\Paradigms\\") + pname, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
for(int index = 0;; ++index) {
@@ -1412,10 +1405,10 @@
if(mode & RM_SYSDOREAD) {
CRegKey par;
- LONG res = par.Open(HKEY_LOCAL_MACHINE, rootreg+"\\Paradigms\\" + pname, KEY_READ);
+ LONG res = par.Open(HKEY_LOCAL_MACHINE, rootreg+_T("\\Paradigms\\") + pname, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- CString cur = QueryValue(par, "CurrentVersion");
+ CString cur = QueryValue(par, _T("CurrentVersion"));
if(!cur.IsEmpty()) { // New style: Connection strings are stored under GUID subkeys
for(int index = 0;; ++index) {
TCHAR name[1024];
@@ -1432,7 +1425,7 @@
}
}
else {
- CString name = QueryValue(par, "GUID");
+ CString name = QueryValue(par, _T("GUID"));
int j;
for(j = 0; j < retlen; j++) { // Make sure, name is not present already, if yes system copy is ignored
if(!ret[j].CompareNoCase(name)) break;
@@ -1456,7 +1449,7 @@
COMTRY
{
- CString pname = PutInCString(parname);
+ CString pname = parname;
CRegKey subk;
CString guidact;
@@ -1473,11 +1466,11 @@
if(mode & RM_USER) {
CRegKey par;
- res = par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\" + pname, KEY_READ);
+ res = par.Open(HKEY_CURRENT_USER, rootreg + _T("\\Paradigms\\") + pname, KEY_READ);
if(res == ERROR_SUCCESS) {
// REVOKE_SYS2(mode); // paradigm found, ignore system settings
if(inguidstr == NULL) {
- guidact = QueryValue(par, "CurrentVersion");
+ guidact = QueryValue(par, _T("CurrentVersion"));
if(guidact.IsEmpty()) res = ERROR_FILE_NOT_FOUND;
}
else guidact = inguidstr;
@@ -1489,11 +1482,11 @@
if(mode & RM_SYSDOREAD) {
CRegKey par;
- res = par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\" + pname, KEY_READ);
+ res = par.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Paradigms\\") + pname, KEY_READ);
if(res == ERROR_SUCCESS) {
- CString cur = QueryValue(par, "CurrentVersion");
+ CString cur = QueryValue(par, _T("CurrentVersion"));
if(cur.IsEmpty()) {
- guidact = QueryValue(par, "GUID");
+ guidact = QueryValue(par, _T("GUID"));
if(inguidstr != NULL && inguidstr != CComBSTR(guidact)) COMTHROW(E_NOTFOUND);
subk.Attach(par.Detach());
}
@@ -1508,7 +1501,7 @@
if(subk == NULL) return(E_NOTFOUND); // !!!!!!!
- CopyTo(QueryValue(subk, "ConnStr"), connstr);
+ CopyTo(QueryValue(subk, _T("ConnStr")), connstr);
if(inguidstr == NULL) {
GUID g;
@@ -1550,7 +1543,7 @@
if(mode & RM_USER) {
CRegKey par;
- res = par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name, KEY_READ);
+ res = par.Open(HKEY_CURRENT_USER, rootreg + _T("\\Paradigms\\")+name, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
mode = REGACCESS_USER;
@@ -1569,7 +1562,7 @@
CString cver(value);
if (cver.Compare(PutInCString(guidbstr)) == 0) {
CString namestr(name);
- if (namestr.CompareNoCase("CurrentVersion") != 0) {
+ if (namestr.CompareNoCase(_T("CurrentVersion")) != 0) {
found = true;
CopyTo(namestr, ver);
}
@@ -1580,7 +1573,7 @@
}
if(mode & (RM_SYSDOREAD)) {
CRegKey par;
- res = par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name, KEY_READ);
+ res = par.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Paradigms\\")+name, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
for(int index = 0;; ++index) {
@@ -1598,7 +1591,7 @@
CString cver(value);
if (cver.Compare(PutInCString(guidbstr)) == 0) {
CString namestr(name);
- if (namestr.CompareNoCase("CurrentVersion") != 0) {
+ if (namestr.CompareNoCase(_T("CurrentVersion")) != 0) {
found = true;
CopyTo(namestr, ver);
}
@@ -1616,7 +1609,7 @@
{
CHECK_OUT(guid);
- CString verstr = PutInCString(ver);
+ CString verstr = ver;
CString gstr;
COMTRY
@@ -1625,7 +1618,7 @@
if(mode & RM_USER) {
CRegKey par;
- res = par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name, KEY_READ);
+ res = par.Open(HKEY_CURRENT_USER, rootreg + _T("\\Paradigms\\")+name, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
gstr = QueryValue(par, verstr);
@@ -1636,7 +1629,7 @@
}
if(mode & (RM_SYSDOREAD)) {
CRegKey par;
- res = par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name, KEY_READ);
+ res = par.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Paradigms\\")+name, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
gstr = QueryValue(par, verstr);
@@ -1666,8 +1659,8 @@
if(mode & RM_USER) {
CRegKey par;
- ERRTHROW( par.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms\\"+name) );
- CString cur = QueryValue(par, "CurrentVersion");
+ ERRTHROW( par.Open(HKEY_CURRENT_USER, rootreg + _T("\\Paradigms\\")+name) );
+ CString cur = QueryValue(par, _T("CurrentVersion"));
if(cur.Compare(PutInCString(guidbstr)) == 0) {
COMTHROW(E_INVALID_USAGE);
}
@@ -1695,8 +1688,8 @@
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey par;
- ERRTHROW( par.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms\\"+name) );
- CString cur = QueryValue(par, "CurrentVersion");
+ ERRTHROW( par.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Paradigms\\")+name) );
+ CString cur = QueryValue(par, _T("CurrentVersion"));
if(cur.Compare(PutInCString(guidbstr)) == 0) {
COMTHROW(E_INVALID_USAGE);
}
@@ -1733,14 +1726,14 @@
{
if(mode & RM_USER) {
CRegKey pars;
- LONG res = pars.Open(HKEY_CURRENT_USER, rootreg + "\\Paradigms");
- if(!res) res = pars.RecurseDeleteKey(PutInCString(name));
+ LONG res = pars.Open(HKEY_CURRENT_USER, rootreg + _T("\\Paradigms"));
+ if(!res) res = pars.RecurseDeleteKey(CString(name));
if(res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
ERRTHROW(res);
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey pars;
- LONG res = pars.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Paradigms");
+ LONG res = pars.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Paradigms"));
if(!res) {
if(mode & RM_SYS) res = pars.RecurseDeleteKey(PutInCString(name));
if(mode & RM_TEST) res = pars.Open(pars, PutInCString(name));
@@ -1755,7 +1748,7 @@
// throws hresult_exception
void GetComponents(HKEY hive, CStringArray& ret) {
CRegKey comps;
- LONG res = comps.Open(hive, rootreg + "\\Components", KEY_READ);
+ LONG res = comps.Open(hive, rootreg + _T("\\Components"), KEY_READ);
if (res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND)
COMTHROW(HRESULT_FROM_WIN32(res));
if (res == ERROR_SUCCESS) {
@@ -1770,7 +1763,7 @@
err = comp.Open(comps, name, KEY_READ);
DWORD type2;
if (err == ERROR_SUCCESS)
- err = comp.QueryDWORDValue("Type", type2);
+ err = comp.QueryDWORDValue(_T("Type"), type2);
if (err != ERROR_SUCCESS)
continue;
if((type2 & COMPONENTTYPE_SYSREGREF) != 0) {
@@ -1809,10 +1802,10 @@
void TokenizeParadigmString(const CString& paradigms, Functor x) {
CStringList ret;
int curPos = 0;
- CString token = paradigms.Tokenize(" ;,\n\t", curPos);
- while (token != "") {
+ CString token = paradigms.Tokenize(_T(" ;,\n\t"), curPos);
+ while (token != _T("")) {
x(token);
- token = paradigms.Tokenize(" ;,\n\t", curPos);
+ token = paradigms.Tokenize(_T(" ;,\n\t"), curPos);
}
}
@@ -1832,16 +1825,16 @@
CRegKey mga;
ERRTHROW( mga.Create(HKEY_CURRENT_USER, rootreg) );
CRegKey comps;
- ERRTHROW( comps.Create(mga, "Components") );
+ ERRTHROW( comps.Create(mga, _T("Components")) );
CRegKey comp;
ERRTHROW( comp.Create(comps, PutInCString(progid)) );
- ERRTHROW( comp.SetDWORDValue( "Type", (DWORD)type));
+ ERRTHROW( comp.SetDWORDValue( _T("Type"), (DWORD)type));
- ERRTHROW( comp.SetStringValue( "Description", PutInCString(desc)));
+ ERRTHROW( comp.SetStringValue( _T("Description"), PutInCString(desc)));
if(paradigms.Length()) {
TokenizeParadigmString(PutInCString(paradigms), [&comp](const CString& par) {
- ERRTHROW(comp.SetStringValue("Paradigm", par));
+ ERRTHROW(comp.SetStringValue(_T("Paradigm"), par));
});
}
}
@@ -1849,16 +1842,16 @@
CRegKey mga;
ERRTHROW( mga.Create(HKEY_LOCAL_MACHINE, rootreg) );
CRegKey comps;
- ERRTHROW( comps.Create(mga, "Components") );
+ ERRTHROW( comps.Create(mga, _T("Components")) );
if(mode & RM_SYS) {
CRegKey comp;
ERRTHROW( comp.Create(comps, PutInCString(progid)) );
- ERRTHROW( comp.SetDWORDValue( "Type", (DWORD)type));
+ ERRTHROW( comp.SetDWORDValue( _T("Type"), (DWORD)type));
- ERRTHROW( comp.SetStringValue( "Description", PutInCString(desc)));
+ ERRTHROW( comp.SetStringValue( _T("Description"), PutInCString(desc)));
TokenizeParadigmString(PutInCString(paradigms), [&comp](const CString& par) {
- ERRTHROW(comp.SetStringValue("Paradigm", par));
+ ERRTHROW(comp.SetStringValue(_T("Paradigm"), par));
});
}
else {
@@ -1885,15 +1878,15 @@
HKEY hives[] = { HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE };
for (int i = 0; i < 2; i++) {
CRegKey comp;
- LONG res = comp.Open(hives[i], rootreg+"\\Components\\"+progidstr, KEY_READ);
+ LONG res = comp.Open(hives[i], rootreg+_T("\\Components\\")+progidstr, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
- comp.QueryDWORDValue("Type", dwType);
+ comp.QueryDWORDValue(_T("Type"), dwType);
ULONG count;
- res = comp.QueryStringValue("Description", NULL, &count);
- if (strDesc == "" && res == ERROR_SUCCESS) {
+ res = comp.QueryStringValue(_T("Description"), NULL, &count);
+ if (strDesc == _T("") && res == ERROR_SUCCESS) {
CString ret;
- if (comp.QueryStringValue("Description", ret.GetBufferSetLength(count), &count) == ERROR_SUCCESS)
+ if (comp.QueryStringValue(_T("Description"), ret.GetBufferSetLength(count), &count) == ERROR_SUCCESS)
strDesc = ret;
}
}
@@ -1903,7 +1896,7 @@
if (type)
*type = (componenttype_enum)dwType;
- if (desc && strDesc != "")
+ if (desc && strDesc != _T(""))
CopyTo(strDesc, desc);
return S_OK;
}
@@ -1917,13 +1910,13 @@
// if(mode & RM_USER) {
if(mode & (RM_USER | RM_SYS) ){
CRegKey comps;
- LONG res = comps.Open(HKEY_CURRENT_USER, rootreg + "\\Components");
+ LONG res = comps.Open(HKEY_CURRENT_USER, rootreg + _T("\\Components"));
DWORD type2 = 0;
if(!res) {
CRegKey comp;
res = comp.Open(comps, PutInCString(progid), KEY_READ);
- if(!res) comp.QueryDWORDValue( "Type", type2);
+ if(!res) comp.QueryDWORDValue( _T("Type"), type2);
}
if((mode & RM_USER) || (type2 & COMPONENTTYPE_SYSREGREF) != 0 ) {
@@ -1934,7 +1927,7 @@
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey comps;
- LONG res = comps.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Components");
+ LONG res = comps.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Components"));
if(!res) {
if(mode & RM_SYS) res = comps.RecurseDeleteKey(PutInCString(progid));
if(mode & RM_TEST) res = comps.Open(comps, PutInCString(progid));
@@ -1955,11 +1948,11 @@
{
if(mode & RM_USER) {
CRegKey comp;
- LONG res = comp.Open(HKEY_CURRENT_USER, rootreg+"\\Components\\"+progidstr);
+ LONG res = comp.Open(HKEY_CURRENT_USER, rootreg+_T("\\Components\\")+progidstr);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
DWORD type2;
- ERRTHROW( comp.QueryDWORDValue( "Type", type2));
+ ERRTHROW( comp.QueryDWORDValue( _T("Type"), type2));
if((type2 & COMPONENTTYPE_ALL)) {
if(!newVal) { ERRTHROW( comp.DeleteValue(PutInCString(name)) ); }
@@ -1969,11 +1962,11 @@
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey comp;
- LONG res = comp.Open(HKEY_LOCAL_MACHINE, rootreg+"\\Components\\"+progidstr);
+ LONG res = comp.Open(HKEY_LOCAL_MACHINE, rootreg+_T("\\Components\\")+progidstr);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
DWORD type2;
- ERRTHROW( comp.QueryDWORDValue( "Type", type2));
+ ERRTHROW( comp.QueryDWORDValue( _T("Type"), type2));
if((mode & RM_SYS) && (type2 & COMPONENTTYPE_ALL)) {
if(!newVal) { ERRTHROW( comp.DeleteValue(PutInCString(name)) ); }
@@ -1996,7 +1989,7 @@
HKEY hives[] = { HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE };
for (int i = 0; i < 2; i++) {
CRegKey comp;
- LONG res = comp.Open(hives[i], rootreg+"\\Components\\"+progidstr, KEY_READ);
+ LONG res = comp.Open(hives[i], rootreg+_T("\\Components\\")+progidstr, KEY_READ);
if(res != ERROR_SUCCESS && res != ERROR_ACCESS_DENIED && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
if(res == ERROR_SUCCESS) {
ULONG count;
@@ -2024,34 +2017,34 @@
CRegKey comp;
CString m_strClassId;
for(int i = 0; i < 10; i++) {
- LONG res = comp.Open(HKEY_CLASSES_ROOT, m_strProgId + "\\CLSID", KEY_READ);
+ LONG res = comp.Open(HKEY_CLASSES_ROOT, m_strProgId + _T("\\CLSID"), KEY_READ);
if(res == ERROR_SUCCESS) {
- m_strClassId = QueryValue(comp,"" );
+ m_strClassId = QueryValue(comp,_T("") );
break;
}
else {
- res = comp.Open(HKEY_CLASSES_ROOT, m_strProgId + "\\CurVer", KEY_READ);
+ res = comp.Open(HKEY_CLASSES_ROOT, m_strProgId + _T("\\CurVer"), KEY_READ);
if(res != ERROR_SUCCESS) COMTHROW(E_NOTFOUND);
- m_strProgId = QueryValue(comp, "" );
+ m_strProgId = QueryValue(comp, _T("") );
comp.Close();
}
}
if(m_strClassId.IsEmpty()) COMTHROW(E_NOTFOUND);
- LONG res = comp.Open(HKEY_CLASSES_ROOT, "CLSID\\" + m_strClassId + "\\InprocServer32", KEY_READ);
+ LONG res = comp.Open(HKEY_CLASSES_ROOT, _T("CLSID\\") + m_strClassId + _T("\\InprocServer32"), KEY_READ);
CString m_strPath;
if(res == ERROR_SUCCESS) {
- m_strPath = QueryValue(comp, "" );
- if (m_strPath == "mscoree.dll") {
- char data[MAX_PATH];
+ m_strPath = QueryValue(comp, _T("") );
+ if (m_strPath == _T("mscoree.dll")) {
+ TCHAR data[MAX_PATH];
ULONG num_bytes = sizeof(data) / sizeof(data[0]);
- if (comp.QueryValue("CodeBase", 0, data, &num_bytes) == ERROR_SUCCESS) {
+ if (comp.QueryValue(_T("CodeBase"), 0, data, &num_bytes) == ERROR_SUCCESS) {
m_strPath = data;
m_strPath = m_strPath.Right(m_strPath.GetLength() - 8);
m_strPath.Replace('/', '\\');
} else {
- if (comp.QueryValue("Assembly", 0, data, &num_bytes) == ERROR_SUCCESS) {
- m_strPath = "GAC: ";
+ if (comp.QueryValue(_T("Assembly"), 0, data, &num_bytes) == ERROR_SUCCESS) {
+ m_strPath = _T("GAC: ");
m_strPath += data;
}
}
@@ -2082,7 +2075,7 @@
Tristate_t IsAssociated_hive(const CString& progidstr, const CString& paradigmstr, HKEY hive) {
CRegKey acomp;
- if (acomp.Open(hive, rootreg + "\\Components\\" + progidstr + "\\Associated", KEY_READ) != ERROR_SUCCESS) {
+ if (acomp.Open(hive, rootreg + _T("\\Components\\") + progidstr + _T("\\Associated"), KEY_READ) != ERROR_SUCCESS) {
return Tristate_Not_Specified;
}
ULONG count;
@@ -2093,7 +2086,7 @@
CString val;
if (acomp.QueryStringValue(paradigmstr, val.GetBufferSetLength(count), &count) == ERROR_SUCCESS) {
val.ReleaseBuffer();
- if (val == "Disabled") {
+ if (val == _T("Disabled")) {
return Tristate_Disabled;
}
}
@@ -2123,8 +2116,7 @@
{
CStringArray ret;
- CString paradigmstr;
- CopyTo(paradigm, paradigmstr);
+ CString paradigmstr = paradigm;
CStringArray components;
if (mode & REGACCESS_USER)
@@ -2180,33 +2172,33 @@
bool somethingdone = false;
if(mode & RM_USER) {
CRegKey comp;
- LONG res = comp.Open(HKEY_CURRENT_USER, rootreg + "\\Components\\" + pname);
+ LONG res = comp.Open(HKEY_CURRENT_USER, rootreg + _T("\\Components\\") + pname);
CRegKey assocs;
if(res == ERROR_FILE_NOT_FOUND) { // try to create a shadow registry
CRegKey comp1, mga;
- res = comp1.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Components\\" + pname, KEY_READ);
+ res = comp1.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Components\\") + pname, KEY_READ);
if(!res) res = mga.Create(HKEY_CURRENT_USER, rootreg);
CRegKey comps;
- if(!res) res = ( comps.Create(mga, "Components") );
+ if(!res) res = ( comps.Create(mga, _T("Components")) );
if(!res) res = ( comp.Create(comps, pname) );
}
- if(!res) res = assocs.Create(comp, "Associated");
- if(!res) assocs.SetStringValue( PutInCString(paradigm), "");
+ if(!res) res = assocs.Create(comp, _T("Associated"));
+ if(!res) assocs.SetStringValue( PutInCString(paradigm), _T(""));
if(!res) somethingdone = true;
if(res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
ERRTHROW(res);
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey comp;
- LONG res = comp.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Components\\" + pname);
+ LONG res = comp.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Components\\") + pname);
if(mode & RM_SYS) {
CRegKey assocs;
- if(!res) res = assocs.Create(comp, "Associated");
- if(!res) res = assocs.SetStringValue( PutInCString(paradigm), "");
+ if(!res) res = assocs.Create(comp, _T("Associated"));
+ if(!res) res = assocs.SetStringValue( PutInCString(paradigm), _T(""));
}
else {
CRegKey assocs;
- LONG res = assocs.Open(comp, "Associated");
+ LONG res = assocs.Open(comp, _T("Associated"));
if(res != ERROR_SUCCESS && res != ERROR_FILE_NOT_FOUND) ERRTHROW(res);
}
if(!res) somethingdone = true;
@@ -2224,29 +2216,29 @@
{
if(mode & RM_USER) {
CRegKey comp;
- LONG res = comp.Open(HKEY_CURRENT_USER, rootreg + "\\Components\\" + pname);
+ LONG res = comp.Open(HKEY_CURRENT_USER, rootreg + _T("\\Components\\") + pname);
if (res == ERROR_FILE_NOT_FOUND) {
CRegKey comp1, mga;
- res = comp1.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Components\\" + pname, KEY_READ);
+ res = comp1.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Components\\") + pname, KEY_READ);
if(!res) res = mga.Create(HKEY_CURRENT_USER, rootreg);
CRegKey comps;
- if(!res) res = ( comps.Create(mga, "Components") );
+ if(!res) res = ( comps.Create(mga, _T("Components")) );
if(!res) res = ( comp.Create(comps, pname) );
}
CRegKey assocs;
- if(!res) res = assocs.Open(comp, "Associated");
+ if(!res) res = assocs.Open(comp, _T("Associated"));
if (res == ERROR_FILE_NOT_FOUND)
- res = assocs.Create(comp, "Associated");
+ res = assocs.Create(comp, _T("Associated"));
if (!res)
- res = assocs.SetStringValue(PutInCString(paradigm), "Disabled");
+ res = assocs.SetStringValue(PutInCString(paradigm), _T("Disabled"));
if(res == ERROR_FILE_NOT_FOUND) res = ERROR_SUCCESS;
ERRTHROW(res);
}
if(mode & (RM_SYS | RM_TEST)) {
CRegKey comp;
- LONG res = comp.Open(HKEY_LOCAL_MACHINE, rootreg + "\\Components\\" + pname);
+ LONG res = comp.Open(HKEY_LOCAL_MACHINE, rootreg + _T("\\Components\\") + pname);
CRegKey assocs;
- if(!res) res = assocs.Open(comp, "Associated");
+ if(!res) res = assocs.Open(comp, _T("Associated"));
if(mode & RM_SYS) {
if(!res) res = assocs.DeleteValue(PutInCString(paradigm));
}
@@ -2275,13 +2267,13 @@
if (can_ass) *can_ass = VARIANT_FALSE;
VARIANT_BOOL can = VARIANT_FALSE;
CComBSTR pars;
- get_ComponentExtraInfo(mode,progid,CComBSTR("Paradigm"), &pars);
+ get_ComponentExtraInfo(mode,progid,CComBSTR(L"Paradigm"), &pars);
if(!pars && !(type & COMPONENTTYPE_SCRIPT)) {
CComPtr<IMgaComponent> comp;
CreateMgaComponent(comp, progid);
if(!comp) COMTHROW(E_NOTFOUND);
COMTHROW(comp->get_Paradigm(&pars));
- put_ComponentExtraInfo(REGACCESS_BOTH, progid, CComBSTR("Paradigm"), pars); // just try
+ put_ComponentExtraInfo(REGACCESS_BOTH, progid, CComBSTR(L"Paradigm"), pars); // just try
}
if(!pars) {
can = type & COMPONENTTYPE_PARADIGM_INDEPENDENT ? VARIANT_TRUE : VARIANT_FALSE;
@@ -2316,7 +2308,7 @@
}
CTLREGPROC DLLRegisterServer =
- (CTLREGPROC)::GetProcAddress(hModule,"DllRegisterServer" );
+ (CTLREGPROC)::GetProcAddress(hModule, "DllRegisterServer");
if( DLLRegisterServer == NULL )
{
@@ -2382,7 +2374,7 @@
CLSID tempGUID;
HRESULT hr = CLSIDFromProgID(olestr, &tempGUID);
if(hr == S_OK && tempGUID == typeattr->guid) {
- progid = olestr;
+ progid = CComBstrObj(olestr);
}
}
}
Modified: trunk/GME/MgaUtil/MgaResolver.cpp
==============================================================================
--- trunk/GME/MgaUtil/MgaResolver.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaResolver.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -313,9 +313,9 @@
COMTHROW( parent_mfolder->get_Name(&parmfolder_name) );
CString sz_format;
- sz_format.Format( "Paradigm violation! Parent folder %S of type %S\n"
- "cannot contain a child folder\n"
- "of type %S",
+ sz_format.Format( _T("Paradigm violation! Parent folder %s of type %s\n")
+ _T("cannot contain a child folder\n")
+ _T("of type %s"),
(BSTR) parfolder_name, (BSTR) parmfolder_name,
kind
);
@@ -370,7 +370,7 @@
CString sentence;
if(CComBSTR(kind).Length()) {
- sentence = "Specified metaobject '" + CString(kind) + "'";
+ sentence = _T("Specified metaobject '") + CString(kind) + _T("'");
COMTHROW(
((hr = parent_mf->get_LegalRootObjectByName(kind, &mfco)) == E_NOTFOUND) ?
S_OK : hr
@@ -428,7 +428,7 @@
// match on name object occurs, but incompatible user spec'd objtype
- sentence += " is of invalid object type. ";
+ sentence += _T(" is of invalid object type. ");
}
// either a fail on name match && proper objtype,
@@ -438,7 +438,7 @@
else {
- sentence += " is not found. ";
+ sentence += _T(" is not found. ");
}
}
@@ -471,9 +471,9 @@
CString sz_format;
- sz_format.Format( "%sParent folder %S\n"
- "of type %S\n"
- "cannot have any children.",
+ sz_format.Format( _T("%sParent folder %s\n")
+ _T("of type %s\n")
+ _T("cannot have any children."),
sentence,
(BSTR) parent_name,
(BSTR) mparent_name
@@ -495,7 +495,7 @@
}
- CDialogList cdl(sentence + "Resolve Object Kind of ObjType "+helper_ObjTypeStr(objtype),
+ CDialogList cdl(sentence + _T("Resolve Object Kind of ObjType ")+helper_ObjTypeStr(objtype),
CDialogList::CHKTEXT_ONETIMER);
CComPtr<IMgaMetaFCO> fco_ix;
CList<int,int> valid_obj_map;
@@ -534,16 +534,16 @@
CString sz_format;
CString sz_format_tmp;
- sz_format_tmp.Format( "Paradigm Violation! Parent folder %S\n"
- "of type %S\n"
- "cannot have any children\n",
+ sz_format_tmp.Format( _T("Paradigm Violation! Parent folder %s\n")
+ _T("of type %s\n")
+ _T("cannot have any children\n"),
(BSTR) parent_name,
(BSTR) mparent_name
);
sz_format += sz_format_tmp;
if (objtype != OBJTYPE_NULL) {
- sz_format_tmp.Format( "of object type %s\n",
+ sz_format_tmp.Format( _T("of object type %s\n"),
helper_ObjTypeStr(objtype)
);
sz_format += sz_format_tmp;
@@ -579,7 +579,7 @@
if(this->mb_is_interactive && sentence.GetLength()) {
CComBSTR newname;
COMTHROW(fco_ix->get_Name(&newname));
- sentence += "\nUsing the only valid choice '" + CString(newname) + "' instead.";
+ sentence += _T("\nUsing the only valid choice '") + CString(newname) + _T("' instead.");
CComPtr<IMgaProject> mgaProject;
COMTHROW(parent->get_Project(&mgaProject));
@@ -608,7 +608,7 @@
if ((cdl.DoModal() != IDOK) || (cdl.mn_selection_index == LB_ERR)) {
// #pragma bookmark (note: insert helpful message box here get_KindByStr[1] )
-// AfxMessageBox("no items chosen from dialog");
+// AfxMessageBox(_T("no items chosen from dialog"));
return RESOLV_ERR_get_KindByStr;
}
@@ -747,7 +747,7 @@
CopyTo(role2, c3);
}
- if ((c2 == "") || (c2 == c1) || (c3 != "" && c1 == c3)) {
+ if ((c2 == _T("")) || (c2 == c1) || (c3 != _T("") && c1 == c3)) {
COMTHROW(targ_fco->get_ObjType(&targ_objtype));
@@ -782,7 +782,7 @@
CString cb1((BSTR) name);
CString cb2(aspect);
- if ((cb2 == "") || (cb2 == cb1 )) {
+ if ((cb2 == _T("")) || (cb2 == cb1 )) {
// finally-- success!
@@ -885,7 +885,7 @@
COMTHROW( targ_roles->get_Item(1, &targ_role) );
ASSERT(targ_role != NULL);
- if (CString(aspect) == "") { // done
+ if (CString(aspect) == _T("")) { // done
COMTHROW( targ_role.CopyTo(p) );
@@ -951,7 +951,7 @@
} // eo if (count == 1)
CList<int, int> valid_role_map;
- CDialogList cdl("Resolve Role Type", CDialogList::CHKTEXT_ONETIMER);
+ CDialogList cdl(_T("Resolve Role Type"), CDialogList::CHKTEXT_ONETIMER);
for (int z = 1; z <= role_count; z++) {
@@ -959,7 +959,7 @@
COMTHROW( targ_roles->get_Item(z, &targ_role) );
ASSERT(targ_role != NULL);
- if (CString(aspect) == "") { // done
+ if (CString(aspect) == _T("")) { // done
CComBSTR role_name;
@@ -1071,29 +1071,29 @@
CString sz_format;
CString sz_format_tmp;
- sz_format_tmp.Format( "Paradigm Violation! Cannot create within parent Model %S\n"
- "of type %S an object\n",
+ sz_format_tmp.Format( _T("Paradigm Violation! Cannot create within parent Model %s\n")
+ _T("of type %s an object\n"),
(BSTR) parent_name,
(BSTR) mparent_name);
sz_format+=sz_format_tmp;
- if (CString(kind) != "") {
+ if (CString(kind) != _T("")) {
- sz_format_tmp.Format("with kind %S\n",
+ sz_format_tmp.Format(_T("with kind %s\n"),
kind);
sz_format+=sz_format_tmp;
}
if (objtype != OBJTYPE_NULL) {
- sz_format_tmp.Format("of type %s\n",
+ sz_format_tmp.Format(_T("of type %s\n"),
helper_ObjTypeStr(objtype));
sz_format+=sz_format_tmp;
}
- if (CString(aspect) != "") {
+ if (CString(aspect) != _T("")) {
- sz_format_tmp.Format("in aspect %S",
+ sz_format_tmp.Format(_T("in aspect %s"),
aspect);
sz_format+=sz_format_tmp;
}
@@ -1191,7 +1191,7 @@
CComPtr<IMgaMetaAttribute> imma_ix;
CString sz_dialog_name;
- sz_dialog_name.Format("Resolve Attribute Kind (for %S):",kind);
+ sz_dialog_name.Format(_T("Resolve Attribute Kind (for %s):"),kind);
CDialogList cdl( sz_dialog_name, CDialogList::CHKTEXT_ONETIMER, true );
MGACOLL_ITERATE(IMgaMetaAttribute, mattrs) {
@@ -1249,9 +1249,9 @@
COMTHROW( parent_metafco->get_Name(&meta_name) );
- sz_format.Format( "No such attribute %S\n"
- "can be found in %s %S\n"
- "of kind %S",
+ sz_format.Format( _T("No such attribute %s\n")
+ _T("can be found in %s %s\n")
+ _T("of kind %s"),
kind,
helper_ObjTypeStr(objtype),
name.m_str,
@@ -1355,24 +1355,24 @@
COMTHROW( src->get_MetaRole(& meta_src_role) );
COMTHROW( dst->get_MetaRole(& meta_dst_role) );
- CString path = "src ";
+ CString path = _T("src ");
CString tmp;
metaref_type mr;
COMTHROW( meta_src_role->get_MetaRef(&mr) );
- tmp.Format("%d ",mr);
+ tmp.Format(_T("%d "),mr);
path += tmp;
if(src_port!=NULL) {
COMTHROW( src_port->get_MetaRole( & meta_src_port_role ) );
ASSERT(meta_src_port_role!=NULL);
COMTHROW( meta_src_port_role->get_MetaRef(&mr) );
- tmp.Format("%d ",mr);
+ tmp.Format(_T("%d "),mr);
path += tmp;
}
- path += ", dst ";
+ path += _T(", dst ");
COMTHROW( meta_dst_role->get_MetaRef(&mr) );
- tmp.Format("%d ",mr);
+ tmp.Format(_T("%d "),mr);
path += tmp;
if(dst_port != NULL) {
@@ -1380,7 +1380,7 @@
ASSERT(meta_dst_port_role!=NULL);
COMTHROW( meta_dst_port_role->get_MetaRef(&mr) );
- tmp.Format("%d ",mr);
+ tmp.Format(_T("%d "),mr);
path += tmp;
}
@@ -1400,7 +1400,7 @@
// now get valid roles for input aspect (if any)
- CDialogList cdl("Select Connection Role Type", CDialogList::CHKTEXT_STICKY);
+ CDialogList cdl(_T("Select Connection Role Type"), CDialogList::CHKTEXT_STICKY);
CList<int, int> valid_role_map;
CComPtr<IMgaMetaRole> immr_ix;
@@ -1569,8 +1569,8 @@
COMTHROW( meta_dst_role->get_Name(&name) );
CString sz_dst_role_name(name);
- CString sz_src_port("<no port>");
- CString sz_src_port_role("<no role>");
+ CString sz_src_port(_T("<no port>"));
+ CString sz_src_port_role(_T("<no role>"));
if (src_port != NULL) {
name.Empty();
COMTHROW( src_port->get_Name(&name) );
@@ -1581,8 +1581,8 @@
sz_src_port_role = CString(name);
}
- CString sz_dst_port("<no port>");
- CString sz_dst_port_role("<no role>");
+ CString sz_dst_port(_T("<no port>"));
+ CString sz_dst_port_role(_T("<no role>"));
if (dst_port != NULL) {
name.Empty();
COMTHROW( dst_port->get_Name(&name) );
@@ -1597,8 +1597,8 @@
CString sz_format_tmp;
sz_format_tmp.Format(
- "Paradigm violation! Cannot make connection for \n"
- "source: %s (%s)",
+ _T("Paradigm violation! Cannot make connection for \n")
+ _T("source: %s (%s)"),
sz_src_name, sz_src_role_name
);
@@ -1608,16 +1608,16 @@
if (src_port != NULL) {
sz_format_tmp.Format(
- " through port: %s (%s)",
+ _T(" through port: %s (%s)"),
sz_src_port, sz_src_port_role
);
sz_format += sz_format_tmp;
}
- sz_format += CString("\nto\n");
+ sz_format += CString(_T("\nto\n"));
sz_format_tmp.Format(
- "destination: %s (%s)",
+ _T("destination: %s (%s)"),
sz_dst_name, sz_dst_role_name
);
sz_format += sz_format_tmp;
@@ -1625,24 +1625,24 @@
if (dst_port != NULL) {
sz_format_tmp.Format(
- " through port: %s (%s)",
+ _T(" through port: %s (%s)"),
sz_dst_port, sz_dst_port_role
);
sz_format += sz_format_tmp;
}
- sz_format += CString("\n");
+ sz_format += CString(_T("\n"));
- if (sz_aspect_name != "") {
+ if (sz_aspect_name != _T("")) {
- sz_format_tmp.Format("in aspect %s \n",
+ sz_format_tmp.Format(_T("in aspect %s \n"),
sz_aspect_name);
sz_format += sz_format_tmp;
}
- sz_format_tmp.Format( "within parent: %s (%s)",
+ sz_format_tmp.Format( _T("within parent: %s (%s)"),
sz_parent_name, sz_parent_role
);
sz_format += sz_format_tmp;
@@ -1696,7 +1696,7 @@
// copy roles into the dialog
- CDialogList cdl("Select Reference Role Type", CDialogList::CHKTEXT_ONETIMER);
+ CDialogList cdl(_T("Select Reference Role Type"), CDialogList::CHKTEXT_ONETIMER);
CList<int, int> valid_role_map;
CComPtr<IMgaMetaRole> immr_ix;
@@ -1875,16 +1875,16 @@
CString sz_format_tmp;
sz_format_tmp.Format(
- "Cannot insert reference for \n"
- "source: %s (%s) \n",
+ _T("Cannot insert reference for \n")
+ _T("source: %s (%s) \n"),
sz_src_name, sz_src_role_name
);
sz_format += sz_format_tmp;
- if (sz_aspect_name != "") {
+ if (sz_aspect_name != _T("")) {
sz_format_tmp.Format(
- "in aspect %s \n",
+ _T("in aspect %s \n"),
sz_aspect_name
);
sz_format += sz_format_tmp;
@@ -1893,7 +1893,7 @@
}
sz_format_tmp.Format(
- "within parent: %s (%s)",
+ _T("within parent: %s (%s)"),
sz_parent_name, sz_parent_role
);
sz_format += sz_format_tmp;
@@ -2327,7 +2327,7 @@
{
CComPtr<IGMEOLEApp> gme;
if (mb_is_interactive && (project != NULL)) {
- CComBSTR bstrName("GME.Application");
+ CComBSTR bstrName(L"GME.Application");
CComPtr<IMgaClient> pClient;
HRESULT hr = project->GetClientByName(bstrName, &pClient);
if (SUCCEEDED(hr) && pClient) {
Modified: trunk/GME/MgaUtil/MgaUtil.vcxproj
==============================================================================
--- trunk/GME/MgaUtil/MgaUtil.vcxproj Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/MgaUtil.vcxproj Thu Mar 31 12:49:49 2011 (r1235)
@@ -23,13 +23,13 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
Modified: trunk/GME/MgaUtil/PropertiesDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/PropertiesDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/PropertiesDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -61,7 +61,7 @@
// view->BeginTransaction(true);
{
COMTHROW(fco->get_RelID(&relid));
- m_relid.Format("0x%08X", relid);
+ m_relid.Format(_T("0x%08X"), relid);
}
UpdateData(FALSE);
{
@@ -75,11 +75,11 @@
{
objtype_enum otype;
COMTHROW(fco->get_ObjType(&otype));
- CString names[] = { "Invalid", "Model", "Atom", "Reference", "Connection", "Set", "Folder" };
+ CString names[] = { _T("Invalid"), _T("Model"), _T("Atom"), _T("Reference"), _T("Connection"), _T("Set"), _T("Folder") };
CString nm;
- nm.Format("%s Properties", names[otype]);
+ nm.Format(_T("%s Properties"), names[otype]);
this->SetWindowText(nm);
@@ -95,22 +95,22 @@
VARIANT_BOOL b;
COMTHROW(fco->get_IsInstance(&b));
if(b != VARIANT_FALSE) {
- nm.Format("%s (instance of %s)",names[otype],tnm);
+ nm.Format(_T("%s (instance of %s)"),names[otype],tnm);
#pragma bookmark (allow name changes for now__ it is allowed in propbar anyways)
// nameBox.SetReadOnly(true);
}
else
- nm.Format("%s (subtype of %s)",names[otype],tnm);
+ nm.Format(_T("%s (subtype of %s)"),names[otype],tnm);
}
else
- nm.Format("%s (archetype)",names[otype]);
+ nm.Format(_T("%s (archetype)"),names[otype]);
}
type.SetWindowText(nm);
}
{
CComPtr<IMgaMetaFCO> metaFco;
COMTHROW(fco->get_Meta(&metaFco));
- CString txt = "N/A";
+ CString txt = _T("N/A");
if(metaFco != 0) {
CComBSTR bstr;
COMTHROW(metaFco->get_DisplayedName(&bstr));
@@ -119,13 +119,13 @@
kind.SetWindowText(txt);
metaref_type mid = 0;
COMTHROW(metaFco->get_MetaRef(&mid));
- txt.Format("%ld",(long)mid);
+ txt.Format(_T("%ld"),(long)mid);
metaid.SetWindowText(txt);
}
{
CComPtr<IMgaMetaRole> metaRole;
COMTHROW(fco->get_MetaRole(&metaRole));
- CString txt = "N/A";
+ CString txt = _T("N/A");
if(metaRole != 0) {
CComBSTR bstr;
COMTHROW(metaRole->get_DisplayedName(&bstr));
@@ -136,11 +136,11 @@
{
ID_type id = 0;
COMTHROW(fco->get_ID(&id));
- CString txt = CString("")+id;
+ CString txt = CString(_T(""))+id;
objectid.SetWindowText(txt);
}
{
- etc.SetWindowText("N/A");
+ etc.SetWindowText(_T("N/A"));
CComPtr<IMgaReference> ref;
if(fco.QueryInterface(&ref) == S_OK) {
CComPtr<IMgaFCO> refd;
@@ -161,15 +161,15 @@
CopyTo(bstr,kindDisplayedName);
}
CString txt;
- txt.Format("-> %s (%s)",name,kindDisplayedName);
+ txt.Format(_T("-> %s (%s)"),name,kindDisplayedName);
etc.SetWindowText(txt);
}
else
- etc.SetWindowText("-> null");
+ etc.SetWindowText(_T("-> null"));
}
}
{
- CString txt = "N/A";
+ CString txt = _T("N/A");
CComPtr<IMgaFCO> asc;
COMTHROW(fco->get_DerivedFrom(&asc));
if(asc) {
@@ -178,18 +178,18 @@
if(fco.QueryInterface(&ref) == S_OK) {
COMTHROW(ref->CompareToBase(&depends));
if(depends > 0)
- txt = "Not a dependent";
+ txt = _T("Not a dependent");
else
- txt = "Dependent";
+ txt = _T("Dependent");
}
else {
CComPtr<IMgaSet> set;
if(fco.QueryInterface(&set) == S_OK) {
COMTHROW(set->CompareToBase(&depends));
if(depends > 0)
- txt = "Not a Dependent";
+ txt = _T("Not a Dependent");
else
- txt = "Dependent";
+ txt = _T("Dependent");
}
}
}
@@ -201,7 +201,7 @@
bool first = true;
- CString txt = "-";
+ CString txt = _T("-");
objtype_enum objtype;
@@ -219,7 +219,7 @@
if((parts != NULL)) {
- txt = "";
+ txt = _T("");
MGACOLL_ITERATE(IMgaPart,parts) {
@@ -232,7 +232,7 @@
COMTHROW( impart_ix->get_MetaAspect(&asp) );
COMTHROW( asp->get_Name(&aspname) );
- if (!first) { txt += "; "; }
+ if (!first) { txt += _T("; "); }
else { first = false; }
txt += CString(aspname);
@@ -248,7 +248,7 @@
if (vb_pri_asp != VARIANT_FALSE) {
- txt += " (primary)";
+ txt += _T(" (primary)");
}
}
MGACOLL_ITERATE_END;
Modified: trunk/GME/MgaUtil/RegistryBrowserDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/RegistryBrowserDlg.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/RegistryBrowserDlg.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -375,7 +375,7 @@
UpdateData(TRUE);
if (oldnode->status == ATTSTATUS_HERE) {
oldnode->value = m_regnodeValue;
- oldnode->value.Replace("\r\n","\n"); // Remove Win32 GUI line ends
+ oldnode->value.Replace(_T("\r\n"),_T("\n")); // Remove Win32 GUI line ends
}
}
}
Modified: trunk/GME/MgaUtil/RegistryTree.cpp
==============================================================================
--- trunk/GME/MgaUtil/RegistryTree.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/RegistryTree.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -57,7 +57,7 @@
dlg->UpdateData(TRUE);
if (oldnode->status == ATTSTATUS_HERE) {
oldnode->value = dlg->m_regnodeValue;
- oldnode->value.Replace("\r\n","\n"); // Remove Win32 GUI line ends
+ oldnode->value.Replace(_T("\r\n"),_T("\n")); // Remove Win32 GUI line ends
}
}
}
@@ -70,25 +70,25 @@
dlg->m_regnodePath = newnode->path;
switch (newnode->status) {
case ATTSTATUS_HERE:
- dlg->m_regnodeStatus = "HERE";
+ dlg->m_regnodeStatus = _T("HERE");
break;
case ATTSTATUS_METADEFAULT:
- dlg->m_regnodeStatus = "METADEFAULT";
+ dlg->m_regnodeStatus = _T("METADEFAULT");
break;
case ATTSTATUS_UNDEFINED:
- dlg->m_regnodeStatus = "UNDEFINED";
+ dlg->m_regnodeStatus = _T("UNDEFINED");
break;
case ATTSTATUS_INVALID:
- dlg->m_regnodeStatus = "INVALID";
+ dlg->m_regnodeStatus = _T("INVALID");
break;
default:
CString inherited;
- inherited.Format("INHERITED (distance: %ld)", newnode->status);
+ inherited.Format(_T("INHERITED (distance: %ld)"), newnode->status);
dlg->m_regnodeStatus = inherited;
break;
}
dlg->m_regnodeValue = newnode->value;
- dlg->m_regnodeValue.Replace("\n", "\r\n"); // Add Win32 GUI line ends
+ dlg->m_regnodeValue.Replace(_T("\n"), _T("\r\n")); // Add Win32 GUI line ends
dlg->UpdateData(FALSE);
}
}
@@ -154,11 +154,11 @@
CRegBrwNode *oldNode = (hItem == TVI_ROOT) ? NULL : (CRegBrwNode*)GetItemData(hItem);
CRegBrwNode *newNode = new CRegBrwNode();
- newNode->name = "New Node";
+ newNode->name = _T("New Node");
newNode->parent = oldNode;
newNode->status = ATTSTATUS_HERE;
- newNode->value = "";
- newNode->path = (hItem == TVI_ROOT) ? newNode->name : oldNode->path + "/" + newNode->name;
+ newNode->value = _T("");
+ newNode->path = (hItem == TVI_ROOT) ? newNode->name : oldNode->path + _T("/") + newNode->name;
int imageNum;
dlg->m_imageMap.Lookup(IDI_ICON_REGHERE, imageNum);
@@ -181,21 +181,21 @@
if (hItem) {
CRegBrwNode* node= (CRegBrwNode*)GetItemData(hItem);
node->status = ATTSTATUS_UNDEFINED;
- node->value = "";
+ node->value = _T("");
CRegistryBrowserDlg *dlg = (CRegistryBrowserDlg *)(GetParent());
- dlg->m_regnodeStatus = "UNDEFINED";
- dlg->m_regnodeValue = "";
+ dlg->m_regnodeStatus = _T("UNDEFINED");
+ dlg->m_regnodeValue = _T("");
dlg->UpdateData(FALSE);
int imageNum;
dlg->m_imageMap.Lookup(IDI_ICON_REGUNDEF, imageNum);
SetItemImage(hItem, imageNum, imageNum);
- AfxMessageBox("Inherited nodes will not be shown until you save the changes.\nClick on the OK button, and start the Registry Browser again to see them !", MB_ICONINFORMATION | MB_OK);
+ AfxMessageBox(_T("Inherited nodes will not be shown until you save the changes.\nClick on the OK button, and start the Registry Browser again to see them !"), MB_ICONINFORMATION | MB_OK);
}
}
void CRegistryTree::OnCntxRemoveall()
{
- if( AfxMessageBox("Would you like to delete all nodes?", MB_YESNO | MB_ICONWARNING) == IDYES)
+ if( AfxMessageBox(_T("Would you like to delete all nodes?"), MB_YESNO | MB_ICONWARNING) == IDYES)
{
HTREEITEM hNextItem, hItem = GetRootItem();
while ( hItem != NULL)
@@ -205,7 +205,7 @@
DeleteItem(hItem);
hItem = hNextItem;
}
- AfxMessageBox("Inherited nodes will not be shown until you save the changes.\nClick on the OK button, and start the Registry Browser again to see them !", MB_ICONINFORMATION | MB_OK);
+ AfxMessageBox(_T("Inherited nodes will not be shown until you save the changes.\nClick on the OK button, and start the Registry Browser again to see them !"), MB_ICONINFORMATION | MB_OK);
}
}
@@ -215,7 +215,7 @@
if (hItem) {
RemoveSubTree(hItem);
DeleteItem(hItem);
- AfxMessageBox("Inherited nodes will not be shown until you save the changes.\nClick on the OK button, and start the Registry Browser again to see them !", MB_ICONINFORMATION | MB_OK);
+ AfxMessageBox(_T("Inherited nodes will not be shown until you save the changes.\nClick on the OK button, and start the Registry Browser again to see them !"), MB_ICONINFORMATION | MB_OK);
}
}
@@ -248,13 +248,13 @@
CRegBrwNode *node = (CRegBrwNode*)GetItemData(hItem);
if (node) {
if (CString(pTVDispInfo->item.pszText).Find('/') != -1) {
- AfxMessageBox("Cannot rename registry node.\nThe name you specified contains '/' character. Specify a different name!", MB_ICONSTOP | MB_OK);
+ AfxMessageBox(_T("Cannot rename registry node.\nThe name you specified contains '/' character. Specify a different name!"), MB_ICONSTOP | MB_OK);
*pResult = FALSE;
return;
}
if ( (node->status != ATTSTATUS_HERE) || ItemHasChildren(hItem)) {
- AfxMessageBox("Only leaf nodes defined in this FCO can be renamed.", MB_ICONSTOP | MB_OK);
+ AfxMessageBox(_T("Only leaf nodes defined in this FCO can be renamed."), MB_ICONSTOP | MB_OK);
*pResult = FALSE;
return;
}
@@ -266,7 +266,7 @@
while (hNextItem) {
CString nodeName = GetItemText(hNextItem);
if ((nodeName == pTVDispInfo->item.pszText) && (hNextItem != hItem)) {
- AfxMessageBox("Cannot rename registry node.\nA node with the name you specified already exists. Specify a different name!", MB_ICONSTOP | MB_OK);
+ AfxMessageBox(_T("Cannot rename registry node.\nA node with the name you specified already exists. Specify a different name!"), MB_ICONSTOP | MB_OK);
CEdit *eLabel = EditLabel(hItem);
eLabel->SetWindowText(pTVDispInfo->item.pszText);
eLabel->SetSel(0,-1);
Modified: trunk/GME/MgaUtil/SplitterBar.cpp
==============================================================================
--- trunk/GME/MgaUtil/SplitterBar.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/SplitterBar.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -42,7 +42,7 @@
{
CWnd* pWnd = this;
m_bHorizontal=bHorizontal;
- return pWnd->Create(NULL, "", dwStyle, rect, pParentWnd, nID);
+ return pWnd->Create(NULL, _T(""), dwStyle, rect, pParentWnd, nID);
}
/////////////////////////////////////////////////////////////////////////////
Modified: trunk/GME/MgaUtil/colorbtn.cpp
==============================================================================
--- trunk/GME/MgaUtil/colorbtn.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/MgaUtil/colorbtn.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -257,8 +257,8 @@
BOOL CColorBtn::Store()
{
- return (AfxGetApp()->WriteProfileBinary("ColorData", "ColorTable",(LPBYTE)CColorBtnDlg::colors,sizeof(COLORREF)*20) &&
- AfxGetApp()->WriteProfileBinary("ColorData", "MRU",(LPBYTE)CColorBtnDlg::used,sizeof(BYTE)*20));
+ return (AfxGetApp()->WriteProfileBinary(_T("ColorData"), _T("ColorTable"),(LPBYTE)CColorBtnDlg::colors,sizeof(COLORREF)*20) &&
+ AfxGetApp()->WriteProfileBinary(_T("ColorData"), _T("MRU"),CColorBtnDlg::used,sizeof(CColorBtnDlg::used)));
}
@@ -269,7 +269,7 @@
// This function allocates the memory it needs
- AfxGetApp()->GetProfileBinary("ColorData", "ColorTable",&data,&size);
+ AfxGetApp()->GetProfileBinary(_T("ColorData"), _T("ColorTable"),&data,&size);
if (data)
{
@@ -278,7 +278,7 @@
memcpy((void *)CColorBtnDlg::colors,(void *)data,size);
free((void *)data);
- AfxGetApp()->GetProfileBinary("ColorData", "MRU",&data,&size);
+ AfxGetApp()->GetProfileBinary(_T("ColorData"), _T("MRU"),&data,&size);
if (data)
{
Modified: trunk/GME/ObjectInspector/Preference.cpp
==============================================================================
--- trunk/GME/ObjectInspector/Preference.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/ObjectInspector/Preference.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -200,11 +200,11 @@
CPreference::CPreference()
{
- nConnTableLength = sizeof(m_szConnectionPreferenceTable)/sizeof(char*)/5;
- nAtomTableLength = sizeof(m_szAtomPreferenceTable)/sizeof(char*)/5;
- nModelTableLength= sizeof(m_szModelPreferenceTable)/sizeof(char*)/5;
- nProxyTableLength= sizeof(m_szProxyPreferenceTable)/sizeof(char*)/5;
- nSetTableLength= sizeof(m_szSetPreferenceTable)/sizeof(char*)/5;
+ nConnTableLength = sizeof(m_szConnectionPreferenceTable)/sizeof(TCHAR*)/5;
+ nAtomTableLength = sizeof(m_szAtomPreferenceTable)/sizeof(TCHAR*)/5;
+ nModelTableLength= sizeof(m_szModelPreferenceTable)/sizeof(TCHAR*)/5;
+ nProxyTableLength= sizeof(m_szProxyPreferenceTable)/sizeof(TCHAR*)/5;
+ nSetTableLength= sizeof(m_szSetPreferenceTable)/sizeof(TCHAR*)/5;
// Get system background color
COLORREF crSysBckg=::GetSysColor(COLOR_WINDOW);
Modified: trunk/GME/PanningView/PanningView.vcxproj
==============================================================================
--- trunk/GME/PanningView/PanningView.vcxproj Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/PanningView/PanningView.vcxproj Thu Mar 31 12:49:49 2011 (r1235)
@@ -23,13 +23,13 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>Dynamic</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
@@ -162,4 +162,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
Modified: trunk/GME/Parser/GenParser.cpp
==============================================================================
--- trunk/GME/Parser/GenParser.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/GenParser.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -10,9 +10,20 @@
#include <stdio.h>
#include <string>
#include "atlstr.h"
+#include <comutil.h>
// --------------------------- XmlStr
+#ifdef UNICODE
+XmlStr::XmlStr(const XMLCh* const input) : std::tstring(input)
+{
+}
+
+XmlStr::XmlStr(const XMLCh* const input, unsigned int len) : std::tstring(input)
+{
+ resize(len);
+}
+#else
XmlStr::XmlStr(const XMLCh* const input)
{
resize(GetCharLength(input, -1));
@@ -26,37 +37,38 @@
resize(GetCharLength(input, len));
CopyTo(input, len, &(operator[](0)), length());
}
+#endif
void CGenParser::SetErrorInfo2(HRESULT hr)
{
- std::string str;
- Format(str, "in file %s at line %ld, char %ld",
+ std::tstring str;
+ Format(str, _T("in file %s at line %ld, char %ld"),
xmlfile.c_str(), err_line, err_column);
- SetErrorInfo(hr, PutInBstr(str));
+ SetErrorInfo(hr, _bstr_t(str.c_str()));
}
-void CGenParser::ThrowXmlError(const char *format, ...)
+void CGenParser::ThrowXmlError(const TCHAR *format, ...)
{
ASSERT( format != NULL );
va_list args;
va_start(args, format);
- std::string desc;
- vFormat(desc, format, args);
+ std::tstring desc;
+ Format(desc, format, args);
- std::string str;
+ std::tstring str;
if( locator != NULL )
Format(str,
- "XML parser error in file %s at line %d, char %d : %s",
+ _T("XML parser error in file %s at line %d, char %d : %s"),
xmlfile.c_str(), (int)locator->getLineNumber(),
(int)locator->getColumnNumber(), desc.c_str());
else
Format(str,
- "XML parser error in file %s : %s", xmlfile.c_str(), desc.c_str());
+ _T("XML parser error in file %s : %s"), xmlfile.c_str(), desc.c_str());
- CopyTo(str, errorinfo);
+ errorinfo = str.c_str();
HR_THROW(E_XMLPARSER);
}
@@ -67,13 +79,13 @@
do
{
XmlStr sysid = systemId;
- std::string syssid = sysid;
+ std::tstring syssid = sysid;
- HMODULE hm = GetModuleHandle("PARSER.DLL");
+ HMODULE hm = GetModuleHandle(_T("PARSER.DLL"));
if( hm == NULL )
break;
- HRSRC res = FindResource(hm, syssid.c_str(), "DTD");
+ HRSRC res = FindResource(hm, syssid.c_str(), _T("DTD"));
if(res) {
XMLByte *bytes = (XMLByte *)LockResource(LoadResource(hm, res));
if(!bytes) COMTHROW(E_INVALID_DTD);
@@ -81,18 +93,18 @@
}
- char filename[200];
+ TCHAR filename[200];
int a = GetModuleFileName(hm, filename, 200);
a -= 10;
if( a <= 0 )
break;
- if( _stricmp(filename + a, "PARSER.DLL") != 0 )
+ if( _tcsicmp(filename + a, _T("PARSER.DLL")) != 0 )
break;
- strcpy(filename + a, sysid.c_str());
+ _tcscpy(filename + a, sysid.c_str());
- FILE *file = fopen(filename, "r");
+ FILE *file = _tfopen(filename, _T("r"));
if( file == NULL )
break;
@@ -124,7 +136,7 @@
cur_line = (int)locator->getLineNumber();
cur_column = (int)locator->getColumnNumber();
// CString msg;
- // msg.Format("Line %d, Col: %d\n", cur_line, cur_column);
+ // msg.Format(_T("Line %d, Col: %d\n"), cur_line, cur_column);
// OutputDebugString(msg);
}
#endif
@@ -136,7 +148,7 @@
unsigned int len = attrlist.getLength();
for(unsigned int index = 0; index < len; index++)
{
- attributes.push_back( std::pair<std::string,std::string>(
+ attributes.push_back( std::pair<std::tstring,std::tstring>(
XmlStr(attrlist.getName(index)), XmlStr(attrlist.getValue(index))) );
}
@@ -167,9 +179,9 @@
// we compose and set the error message for exceptions
// [which come from the MGA layer because of meta incompatibility]
- std::string str;
- Format(str, "Improper use of object error in file %s at line %d, char %d.", xmlfile.c_str(), err_line, err_column);
- CopyTo(str, errorinfo);
+ std::tstring str;
+ Format(str, _T("Improper use of object error in file %s at line %d, char %d."), xmlfile.c_str(), err_line, err_column);
+ errorinfo = str.c_str();
}
throw;
@@ -213,9 +225,9 @@
// we compose and set the error message for exceptions
// [which come from the MGA layer because of meta incompatibility]
- std::string str;
- Format(str, "Improper use of object error in file %s at line %ld, char %ld.", xmlfile.c_str(), err_line, err_column);
- CopyTo(str, errorinfo);
+ std::tstring str;
+ Format(str, _T("Improper use of object error in file %s at line %ld, char %ld."), xmlfile.c_str(), err_line, err_column);
+ errorinfo = str.c_str();
}
throw;
@@ -232,7 +244,7 @@
void CGenParser::error(const SAXParseException &e)
{
ThrowXmlError(
- "(at line %d, char %d) %s",
+ _T("(at line %d, char %d) %s"),
(int)e.getLineNumber(),(int)e.getColumnNumber(),
XmlStr(e.getMessage()).c_str());
}
@@ -249,7 +261,7 @@
// ------- Attributes
-const std::string *CGenParser::GetByNameX(const attributes_type &attributes, const char *name)
+const std::tstring *CGenParser::GetByNameX(const attributes_type &attributes, const TCHAR *name)
{
attributes_iterator i = attributes.begin();
attributes_iterator e = attributes.end();
@@ -264,12 +276,12 @@
return NULL;
}
-long CGenParser::toLong(std::string s)
+long CGenParser::toLong(std::tstring s)
{
- const char *c = s.c_str();
- char *e;
+ const TCHAR *c = s.c_str();
+ TCHAR *e;
- long a = strtol(c, &e, 0);
+ long a = _tcstol(c, &e, 0);
if( (e - c) != (int) s.length() )
HR_THROW(E_INVALID_XML_LONG);
@@ -277,12 +289,12 @@
return a;
}
-unsigned long CGenParser::toULong(std::string s)
+unsigned long CGenParser::toULong(std::tstring s)
{
- const char *c = s.c_str();
- char *e;
+ const TCHAR *c = s.c_str();
+ TCHAR *e;
- long a = strtoul(c, &e, 0);
+ long a = _tcstoul(c, &e, 0);
if( (e - c) != (int) s.length() )
HR_THROW(E_INVALID_XML_LONG);
Modified: trunk/GME/Parser/GenParser.h
==============================================================================
--- trunk/GME/Parser/GenParser.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/GenParser.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -3,6 +3,7 @@
#define MGA_GENPARSER_H
#include <xercesc/sax/HandlerBase.hpp>
+#include <comutil.h>
XERCES_CPP_NAMESPACE_USE
@@ -14,7 +15,7 @@
// --------------------------- XmlStr
-class XmlStr : public std::string
+class XmlStr : public std::tstring
{
public:
XmlStr() { };
@@ -29,7 +30,7 @@
class CGenParser : public HandlerBase
{
public:
- typedef std::vector< std::pair<std::string, std::string> > attributes_type;
+ typedef std::vector< std::pair<std::tstring, std::tstring> > attributes_type;
typedef attributes_type::const_iterator attributes_iterator;
@@ -39,7 +40,7 @@
public:
void SetErrorInfo2(HRESULT hr);
- void ThrowXmlError(const char *format, ...);
+ void ThrowXmlError(const TCHAR *format, ...);
// ------- Handler Base
@@ -58,8 +59,8 @@
virtual void fatalError(const SAXParseException& exception);
virtual void setDocumentLocator(const Locator *const locator);
- virtual void fireStartFunction(const std::string& name, const attributes_type& attributes) = 0;
- virtual void fireEndFunction(const std::string& name) = 0;
+ virtual void fireStartFunction(const std::tstring& name, const attributes_type& attributes) = 0;
+ virtual void fireEndFunction(const std::tstring& name) = 0;
public:
const Locator *locator;
@@ -70,12 +71,12 @@
- static const std::string *GetByNameX(const attributes_type &attributes, const char *name);
+ static const std::tstring *GetByNameX(const attributes_type &attributes, const TCHAR *name);
- static const std::string &GetByName(const attributes_type &attributes, const char *name)
+ static const std::tstring &GetByName(const attributes_type &attributes, const TCHAR *name)
{
- const std::string *p = GetByNameX(attributes, name);
- const static std::string nullstr;
+ const std::tstring *p = GetByNameX(attributes, name);
+ const static std::tstring nullstr;
if( p == NULL ) p = &nullstr;
// HR_THROW(E_INVALID_DTD);
@@ -84,7 +85,7 @@
}
template<class INTERFACE, class FUNC_INTERFACE>
- void Attr(attributes_iterator i, const char *name, INTERFACE p,
+ void Attr(attributes_iterator i, const TCHAR *name, INTERFACE p,
HRESULT (__stdcall FUNC_INTERFACE::*func)(BSTR))
{
if( i->first == name )
@@ -96,11 +97,11 @@
}
}
- static long toLong(std::string s);
- static unsigned long toULong(std::string s);
+ static long toLong(std::tstring s);
+ static unsigned long toULong(std::tstring s);
template<class INTERFACE, class FUNC_INTERFACE>
- void Attr(attributes_iterator i, const char *name, INTERFACE p,
+ void Attr(attributes_iterator i, const TCHAR *name, INTERFACE p,
HRESULT (__stdcall FUNC_INTERFACE::*func)(long))
{
if( i->first == name )
@@ -113,7 +114,7 @@
}
template<class INTERFACE, class FUNC_INTERFACE>
- void Attr(attributes_iterator i, const char *name, INTERFACE p,
+ void Attr(attributes_iterator i, const TCHAR *name, INTERFACE p,
HRESULT (__stdcall FUNC_INTERFACE::*func)(unsigned long))
{
if( i->first == name )
@@ -138,8 +139,8 @@
// ------- Properties
public:
- std::string xmlfile;
- CComBstrObj errorinfo;
+ std::tstring xmlfile;
+ _bstr_t errorinfo;
long err_line;
long err_column;
@@ -148,10 +149,10 @@
struct element_type
{
- std::string name;
- std::string chardata;
+ std::tstring name;
+ std::tstring chardata;
CComObjPtr<IUnknown> object;
- std::string exstrinfo;
+ std::tstring exstrinfo;
long exnuminfo;
counter_type begin;
@@ -171,8 +172,8 @@
return *i;
}
- std::string &GetCurrData() { return GetCurrent().chardata; }
- const std::string &GetPrevName() const { return GetPrevious().name; }
+ std::tstring &GetCurrData() { return GetCurrent().chardata; }
+ const std::tstring &GetPrevName() const { return GetPrevious().name; }
template<class T>
void GetPrevObj(CComObjPtr<T> &obj) const
@@ -182,13 +183,13 @@
ASSERT( obj != NULL );
}
- PutInBstr PutInBstrAttr(const attributes_type &attributes, const char *name)
+ _bstr_t PutInBstrAttr(const attributes_type &attributes, const TCHAR *name)
{
- const std::string *s = GetByNameX(attributes, name);
+ const std::tstring *s = GetByNameX(attributes, name);
if( s == NULL )
- return "";
+ return _bstr_t("");
- return *s;
+ return _bstr_t(s->c_str());
}
};
@@ -198,7 +199,7 @@
{
CGenParserFunc_Base(const char *n) : name(n) { }
- std::string name;
+ std::tstring name;
virtual void Start(CGenParser *parser, const CGenParser::attributes_type &attributes) = 0;
virtual void End(CGenParser *parser) = 0;
@@ -210,9 +211,9 @@
typedef void (DERIVED::*StartFunc)(const CGenParser::attributes_type &);
typedef void (DERIVED::*EndFunc)();
- CGenParserFunc(const char *n) : name(n) { }
+ CGenParserFunc(const TCHAR *n) : name(n) { }
- std::string name;
+ std::tstring name;
virtual void Start(CGenParser *parser, const CGenParser::attributes_type &attributes)
{
@@ -224,7 +225,7 @@
(static_cast<DERIVED*>(parser)->*end)();
}
- CGenParserFunc(const char *n, StartFunc s, EndFunc e) :
+ CGenParserFunc(const TCHAR *n, StartFunc s, EndFunc e) :
name(n), start(s), end(e) { }
StartFunc start;
Modified: trunk/GME/Parser/Helper.cpp
==============================================================================
--- trunk/GME/Parser/Helper.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/Helper.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -5,18 +5,18 @@
// bool include_separator:
// true : includes the separator in the token
// false: does not include the separator character in the token
-std::list<std::string> tokenizer( std::string m, char separator /*= '/' */, bool include_separator /* = true */)
+std::list<std::tstring> tokenizer( std::tstring m, TCHAR separator /*= '/' */, bool include_separator /* = true */)
{
int offs = include_separator?0:1;
- std::list<std::string> r;
- std::string last;
+ std::list<std::tstring> r;
+ std::tstring last;
while( !m.empty())
{
int i = m.find(separator, 1);
if( i == -1)
{
r.push_back( m);
- m = "";
+ m = _T("");
}
else if( i != 0)
{
@@ -30,11 +30,11 @@
//
// does not include the separator character in the token
-bool findExact( const std::string& m, const std::string& to_find)
+bool findExact( const std::tstring& m, const std::tstring& to_find)
{
- std::list< std::string> tokens = tokenizer( m, ' ', false);
- std::list< std::string>::iterator i = tokens.begin();
- std::list< std::string>::iterator e = tokens.end();
+ std::list< std::tstring> tokens = tokenizer( m, _T(' '), false);
+ std::list< std::tstring>::iterator i = tokens.begin();
+ std::list< std::tstring>::iterator e = tokens.end();
while( i != e && (*i).compare( to_find) != 0)
++i;
@@ -42,25 +42,25 @@
}
// it calculates nm1's name relatively to nm2
-std::string makeRel( std::string& nm1, std::string& nm2)
+std::tstring makeRel( std::tstring& nm1, std::tstring& nm2)
{
- std::list<std::string> r1 = tokenizer( nm1);
- std::list<std::string> r2 = tokenizer( nm2);
+ std::list<std::tstring> r1 = tokenizer( nm1);
+ std::list<std::tstring> r2 = tokenizer( nm2);
- std::list<std::string>::iterator i1 = r1.begin();
- std::list<std::string>::iterator i2 = r2.begin();
+ std::list<std::tstring>::iterator i1 = r1.begin();
+ std::list<std::tstring>::iterator i2 = r2.begin();
while( i1 != r1.end() && i2 != r2.end() && *i1 == *i2)
{
++i1;
++i2;
}
- std::string relpath;
+ std::tstring relpath;
int count = 0; // how many levels in nm2
- while( i2 != r2.end()) ++i2, ++count, relpath +="/@..";
+ while( i2 != r2.end()) ++i2, ++count, relpath +=_T("/@..");
while( i1 != r1.end()) relpath +=*i1, ++i1;
- if( relpath == "") // same name nm1 and nm2
+ if( relpath == _T("")) // same name nm1 and nm2
{
ASSERT( nm1 == nm2);
//#1 solution: to give back the path as it goes back to the topmost level
@@ -70,25 +70,25 @@
relpath += nm1;*/
//#2 solution: to use a shorter form (only one step up): /@../name
- relpath = "/@.." + *r2.rbegin();
+ relpath = _T("/@..") + *r2.rbegin();
}
return relpath;
}
-std::string makeViewable( const std::string& m)
+std::tstring makeViewable( const std::tstring& m)
{
- std::string res;
- std::list<std::string> r1 = tokenizer( m);
- std::list<std::string>::iterator i1 = r1.begin();
+ std::tstring res;
+ std::list<std::tstring> r1 = tokenizer( m);
+ std::list<std::tstring>::iterator i1 = r1.begin();
while( i1 != r1.end())
{
- std::string p = *i1;
- if( p.substr(0, 2) == "/@")
- p = p.substr(2); // "/@"
- int pos = p.find("|kind=");
+ std::tstring p = *i1;
+ if( p.substr(0, 2) == _T("/@"))
+ p = p.substr(2); // _T("/@")
+ int pos = p.find(_T("|kind="));
if( pos != -1) p = p.substr( 0, pos);
- res += '/' + p;
+ res += _T('/') + p;
++i1;
}
@@ -96,51 +96,51 @@
}
-std::string makeNameViewable( const std::string& m)
+std::tstring makeNameViewable( const std::tstring& m)
{
- std::string res = m;
- if( res.substr(0, 2) == "/@")
+ std::tstring res = m;
+ if( res.substr(0, 2) == _T("/@"))
res = res.substr(2);
- ASSERT( res.find( "/@") == -1); //no more than one token
+ ASSERT( res.find( _T("/@")) == -1); //no more than one token
- int pos = res.find("|kind=");
+ int pos = res.find(_T("|kind="));
if( pos != -1)
res = res.substr( 0, pos);
return res;
}
-CComBSTR makeLink( CComObjPtr<IMgaObject> p_obj, const std::string& nm2, bool use_anyway_nm_2)
+CComBSTR makeLink( CComObjPtr<IMgaObject> p_obj, const std::tstring& nm2, bool use_anyway_nm_2)
{
CComBSTR bstr, id, nm;
COMTHROW( p_obj->get_ID( &id));
COMTHROW( p_obj->get_Name( &nm));
- if( nm == 0 || nm == "" || use_anyway_nm_2) // if called from the Start... (or just derived) then the name its not yet parsed
+ if( nm == 0 || nm == _T("") || use_anyway_nm_2) // if called from the Start... (or just derived) then the name its not yet parsed
nm = nm2.c_str();
- bstr.Append("<A HREF=\"mga:");
+ bstr.Append(L"<A HREF=\"mga:");
bstr.AppendBSTR( id);
- bstr.Append("\">");
+ bstr.Append(L"\">");
if( nm.Length() != 0)
bstr.AppendBSTR( nm);
else
- bstr.Append("emptyname");
- bstr.Append("</A>");
+ bstr.Append(L"emptyname");
+ bstr.Append(L"</A>");
return bstr;
}
-CComBSTR makeLink( CComObjPtr<IMgaFCO> p_fco, const std::string& nm_2, bool use_anyway_nm_2)
+CComBSTR makeLink( CComObjPtr<IMgaFCO> p_fco, const std::tstring& nm_2, bool use_anyway_nm_2)
{
return makeLink( CComObjPtr<IMgaObject>( p_fco), nm_2, use_anyway_nm_2);
}
-CComBSTR makeLink( CComObjPtr<IMgaSet> p_fco, const std::string& nm_2, bool use_anyway_nm_2)
+CComBSTR makeLink( CComObjPtr<IMgaSet> p_fco, const std::tstring& nm_2, bool use_anyway_nm_2)
{
return makeLink( CComObjPtr<IMgaObject>( p_fco), nm_2, use_anyway_nm_2);
}
-CComBSTR makeLink( CComObjPtr<IMgaReference> p_fco, const std::string& nm_2, bool use_anyway_nm_2)
+CComBSTR makeLink( CComObjPtr<IMgaReference> p_fco, const std::tstring& nm_2, bool use_anyway_nm_2)
{
return makeLink( CComObjPtr<IMgaObject>( p_fco), nm_2, use_anyway_nm_2);
}
Modified: trunk/GME/Parser/Helper.h
==============================================================================
--- trunk/GME/Parser/Helper.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/Helper.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -4,21 +4,21 @@
#include <list>
#include <string>
-std::list<std::string> tokenizer( std::string m, char separator = '/', bool include_separator = true);
+std::list<std::tstring> tokenizer( std::tstring m, TCHAR separator = '/', bool include_separator = true);
-bool findExact( const std::string& m, const std::string& to_find);
+bool findExact( const std::tstring& m, const std::tstring& to_find);
-std::string makeRel( std::string& nm, std::string& nm2);
+std::tstring makeRel( std::tstring& nm, std::tstring& nm2);
-std::string makeViewable( const std::string& m);
+std::tstring makeViewable( const std::tstring& m);
-std::string makeNameViewable( const std::string& m);
+std::tstring makeNameViewable( const std::tstring& m);
-CComBSTR makeLink( CComObjPtr<IMgaObject> obj, const std::string& nm_2 = "", bool use_anyway_nm_2 = false);
+CComBSTR makeLink( CComObjPtr<IMgaObject> obj, const std::tstring& nm_2 = _T(""), bool use_anyway_nm_2 = false);
-CComBSTR makeLink( CComObjPtr<IMgaFCO> obj, const std::string& nm_2 = "", bool use_anyway_nm_2 = false);
-CComBSTR makeLink( CComObjPtr<IMgaReference> obj, const std::string& nm_2 = "", bool use_anyway_nm_2 = false);
-CComBSTR makeLink( CComObjPtr<IMgaSet> obj, const std::string& nm_2 = "", bool use_anyway_nm_2 = false);
+CComBSTR makeLink( CComObjPtr<IMgaFCO> obj, const std::tstring& nm_2 = _T(""), bool use_anyway_nm_2 = false);
+CComBSTR makeLink( CComObjPtr<IMgaReference> obj, const std::tstring& nm_2 = _T(""), bool use_anyway_nm_2 = false);
+CComBSTR makeLink( CComObjPtr<IMgaSet> obj, const std::tstring& nm_2 = _T(""), bool use_anyway_nm_2 = false);
#endif // HELPER_H_259823495872394857
Modified: trunk/GME/Parser/MetaParser.cpp
==============================================================================
--- trunk/GME/Parser/MetaParser.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MetaParser.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -134,8 +134,8 @@
// ------- Attributes
-const std::string CMgaMetaParser::GetNextToken(std::string::const_iterator &i,
- std::string::const_iterator &e, std::string::const_iterator end)
+const std::tstring CMgaMetaParser::GetNextToken(std::tstring::const_iterator &i,
+ std::tstring::const_iterator &e, std::tstring::const_iterator end)
{
i = e;
while( i != end && *i == ' ' )
@@ -145,11 +145,11 @@
while( e != end && *e != ' ' )
++e;
- return std::string(i, e);
+ return std::tstring(i, e);
}
-void CMgaMetaParser::fireStartFunction(const std::string & namestr, const attributes_type& attributes)
+void CMgaMetaParser::fireStartFunction(const std::tstring & namestr, const attributes_type& attributes)
{
if(currentPass == FIRST_PASS)
{
@@ -177,7 +177,7 @@
}
-void CMgaMetaParser::fireEndFunction(const std::string & namestr)
+void CMgaMetaParser::fireEndFunction(const std::tstring & namestr)
{
if(currentPass == FIRST_PASS)
{
@@ -209,40 +209,40 @@
CMgaMetaParser::elementfunc CMgaMetaParser::elementfuncs_firstpass[] =
{
- elementfunc("paradigm", StartParadigm, EndNone),
- elementfunc("comment", StartNone, EndComment),
- elementfunc("author", StartNone, EndAuthor),
- elementfunc("dispname", StartNone, EndDispName),
- elementfunc("folder", StartFolder, EndNone),
- elementfunc("atom", StartAtom, EndNone),
- elementfunc("model", StartModel, EndNone),
- elementfunc("connection", StartConnection, EndNone),
- elementfunc("reference", StartReference, EndNone),
- elementfunc("set", StartSet, EndNone),
- elementfunc("attrdef", StartAttrDef, EndNone),
- elementfunc("regnode", StartRegNode, EndNone),
- elementfunc("connjoint", StartConnJoint, EndNone),
- elementfunc("pointerspec", StartPointerSpec, EndNone),
- elementfunc("pointeritem", StartPointerItem, EndNone),
- elementfunc("enumitem", StartEnumItem, EndNone),
- elementfunc("constraint", StartConstraint, EndConstraint),
- elementfunc("", NULL, NULL)
+ elementfunc(_T("paradigm"), StartParadigm, EndNone),
+ elementfunc(_T("comment"), StartNone, EndComment),
+ elementfunc(_T("author"), StartNone, EndAuthor),
+ elementfunc(_T("dispname"), StartNone, EndDispName),
+ elementfunc(_T("folder"), StartFolder, EndNone),
+ elementfunc(_T("atom"), StartAtom, EndNone),
+ elementfunc(_T("model"), StartModel, EndNone),
+ elementfunc(_T("connection"), StartConnection, EndNone),
+ elementfunc(_T("reference"), StartReference, EndNone),
+ elementfunc(_T("set"), StartSet, EndNone),
+ elementfunc(_T("attrdef"), StartAttrDef, EndNone),
+ elementfunc(_T("regnode"), StartRegNode, EndNone),
+ elementfunc(_T("connjoint"), StartConnJoint, EndNone),
+ elementfunc(_T("pointerspec"), StartPointerSpec, EndNone),
+ elementfunc(_T("pointeritem"), StartPointerItem, EndNone),
+ elementfunc(_T("enumitem"), StartEnumItem, EndNone),
+ elementfunc(_T("constraint"), StartConstraint, EndConstraint),
+ elementfunc(_T(""), NULL, NULL)
};
CMgaMetaParser::elementfunc CMgaMetaParser::elementfuncs_secondpass[] =
{
- elementfunc("folder", StartFolder2, EndNone),
- elementfunc("model", StartFCO2, EndNone),
- elementfunc("atom", StartFCO2, EndNone),
- elementfunc("connection", StartFCO2, EndNone),
- elementfunc("reference", StartFCO2, EndNone),
- elementfunc("set", StartFCO2, EndNone),
- elementfunc("role", StartRole2, EndNone),
- elementfunc("aspect", StartAspect2, EndNone),
- elementfunc("part", StartPart2, EndNone),
- elementfunc("regnode", StartRegNode, EndNone),
- elementfunc("dispname", StartNone, EndDispName),
- elementfunc("", NULL, NULL)
+ elementfunc(_T("folder"), StartFolder2, EndNone),
+ elementfunc(_T("model"), StartFCO2, EndNone),
+ elementfunc(_T("atom"), StartFCO2, EndNone),
+ elementfunc(_T("connection"), StartFCO2, EndNone),
+ elementfunc(_T("reference"), StartFCO2, EndNone),
+ elementfunc(_T("set"), StartFCO2, EndNone),
+ elementfunc(_T("role"), StartRole2, EndNone),
+ elementfunc(_T("aspect"), StartAspect2, EndNone),
+ elementfunc(_T("part"), StartPart2, EndNone),
+ elementfunc(_T("regnode"), StartRegNode, EndNone),
+ elementfunc(_T("dispname"), StartNone, EndDispName),
+ elementfunc(_T(""), NULL, NULL)
};
// ------- Element Handlers
@@ -255,14 +255,13 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", metaproject, &IMgaMetaProject::put_Name);
- Attr(i, "version", metaproject, &IMgaMetaProject::put_Version);
+ Attr(i, _T("name"), metaproject, &IMgaMetaProject::put_Name);
+ Attr(i, _T("version"), metaproject, &IMgaMetaProject::put_Version);
/* New Paradigm GUID logic */
- if( i->first == "guid" )
+ if( i->first == _T("guid") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
+ _bstr_t bstr = i->second.c_str();
GUID guid;
CopyTo(bstr, guid);
@@ -274,8 +273,8 @@
explicitguid = true;
}
- Attr(i, "cdate", metaproject, &IMgaMetaProject::put_CreatedAt);
- Attr(i, "mdate", metaproject, &IMgaMetaProject::put_ModifiedAt);
+ Attr(i, _T("cdate"), metaproject, &IMgaMetaProject::put_CreatedAt);
+ Attr(i, _T("mdate"), metaproject, &IMgaMetaProject::put_ModifiedAt);
++i;
}
@@ -283,7 +282,7 @@
void CMgaMetaParser::EndComment()
{
- if( GetPrevName() == "paradigm" )
+ if( GetPrevName() == _T("paradigm") )
{
COMTHROW( metaproject->put_Comment(PutInBstr(GetCurrData())) );
}
@@ -293,7 +292,7 @@
void CMgaMetaParser::EndAuthor()
{
- if( GetPrevName() == "paradigm" )
+ if( GetPrevName() == _T("paradigm") )
{
COMTHROW( metaproject->put_Author(PutInBstr(GetCurrData())) );
}
@@ -306,11 +305,11 @@
if( GetPrevious().object == NULL )
return;
- if( GetPrevName() == "paradigm" )
+ if( GetPrevName() == _T("paradigm") )
{
COMTHROW( metaproject->put_DisplayedName(PutInBstr(GetCurrData())) );
}
- else if( GetPrevName() == "constraint" )
+ else if( GetPrevName() == _T("constraint") )
{
CComObjPtr<IMgaMetaConstraint> c;
GetPrevObj(c);
@@ -328,7 +327,7 @@
{
CComObjPtr<IMgaMetaFolder> folder;
- if( GetPrevName() == "paradigm" )
+ if( GetPrevName() == _T("paradigm") )
{
COMTHROW( metaproject->get_RootFolder(PutOut(folder)) );
}
@@ -346,8 +345,8 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", folder, &IMgaMetaFolder::put_Name);
- Attr(i, "metaref", folder, &IMgaMetaFolder::put_MetaRef);
+ Attr(i, _T("name"), folder, &IMgaMetaFolder::put_Name);
+ Attr(i, _T("metaref"), folder, &IMgaMetaFolder::put_MetaRef);
++i;
}
@@ -359,7 +358,7 @@
CComObjPtr<IMgaMetaFolder> folder;
- if( GetPrevName() == "paradigm" )
+ if( GetPrevName() == _T("paradigm") )
{
ASSERT( metaproject != NULL );
COMTHROW( metaproject->get_RootFolder(PutOut(folder)) );
@@ -369,11 +368,11 @@
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
- HRESULT hr = prev->get_DefinedFolderByName(PutInBstr(GetByName(attributes, "name")),
+ HRESULT hr = prev->get_DefinedFolderByName(PutInBstr(GetByName(attributes, _T("name"))),
VARIANT_FALSE, PutOut(folder));
if( hr == E_NOTFOUND )
- ThrowXmlError("Parent folder %s was not found", GetByName(attributes, "name").c_str());
+ ThrowXmlError(_T("Parent folder %s was not found"), GetByName(attributes, _T("name")).c_str());
else
COMTHROW(hr);
}
@@ -385,14 +384,14 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( i->first == "subfolders" )
+ if( i->first == _T("subfolders") )
{
- std::string::const_iterator ip = i->second.begin();
- std::string::const_iterator ep = ip;
- std::string::const_iterator xp = i->second.end();
+ std::tstring::const_iterator ip = i->second.begin();
+ std::tstring::const_iterator ep = ip;
+ std::tstring::const_iterator xp = i->second.end();
for(;;)
{
- std::string token = GetNextToken(ip, ep, xp);
+ std::tstring token = GetNextToken(ip, ep, xp);
if( ip == xp )
break;
@@ -403,21 +402,21 @@
VARIANT_TRUE, PutOut(child));
if( hr == E_NOTFOUND )
- ThrowXmlError("Defined folder %s was not found", token.c_str());
+ ThrowXmlError(_T("Defined folder %s was not found"), token.c_str());
else
COMTHROW(hr);
COMTHROW( folder->AddLegalChildFolder(child) );
}
}
- else if( i->first == "rootobjects" )
+ else if( i->first == _T("rootobjects") )
{
- std::string::const_iterator ip = i->second.begin();
- std::string::const_iterator ep = ip;
- std::string::const_iterator xp = i->second.end();
+ std::tstring::const_iterator ip = i->second.begin();
+ std::tstring::const_iterator ep = ip;
+ std::tstring::const_iterator xp = i->second.end();
for(;;)
{
- std::string token = GetNextToken(ip, ep, xp);
+ std::tstring token = GetNextToken(ip, ep, xp);
if( ip == xp )
break;
@@ -428,7 +427,7 @@
VARIANT_TRUE, PutOut(fco));
if( hr == E_NOTFOUND )
- ThrowXmlError("No definition for FCO %s was not found", token.c_str());
+ ThrowXmlError(_T("No definition for FCO %s was not found"), token.c_str());
else
COMTHROW(hr);
@@ -445,7 +444,7 @@
{
CComObjPtr<IMgaMetaAtom> atom;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
@@ -465,18 +464,18 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", atom, &IMgaMetaAtom::put_Name);
- Attr(i, "metaref", atom, &IMgaMetaAtom::put_MetaRef);
+ Attr(i, _T("name"), atom, &IMgaMetaAtom::put_Name);
+ Attr(i, _T("metaref"), atom, &IMgaMetaAtom::put_MetaRef);
++i;
}
- COMTHROW(atom->put_AliasingEnabled((GetByName(attributes, "aliasenabled") == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE));
+ COMTHROW(atom->put_AliasingEnabled((GetByName(attributes, _T("aliasenabled")) == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE));
}
void CMgaMetaParser::StartConnection(const attributes_type &attributes)
{
CComObjPtr<IMgaMetaConnection> conn;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
@@ -496,11 +495,11 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", conn, &IMgaMetaConnection::put_Name);
- Attr(i, "metaref", conn, &IMgaMetaConnection::put_MetaRef);
+ Attr(i, _T("name"), conn, &IMgaMetaConnection::put_Name);
+ Attr(i, _T("metaref"), conn, &IMgaMetaConnection::put_MetaRef);
++i;
}
- COMTHROW(conn->put_AliasingEnabled((GetByName(attributes, "aliasenabled") == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE));
+ COMTHROW(conn->put_AliasingEnabled((GetByName(attributes, _T("aliasenabled")) == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE));
}
void CMgaMetaParser::StartConnJoint(const attributes_type &attributes)
@@ -519,13 +518,13 @@
{
CComObjPtr<IMgaMetaPointerSpec> spec;
- if( GetPrevName() == "connjoint" )
+ if( GetPrevName() == _T("connjoint") )
{
CComObjPtr<IMgaMetaConnJoint> prev;
GetPrevObj(prev);
COMTHROW( prev->CreatePointerSpec(PutOut(spec)) );
}
- else if( GetPrevName() == "reference" )
+ else if( GetPrevName() == _T("reference") )
{
CComObjPtr<IMgaMetaReference> prev;
GetPrevObj(prev);
@@ -533,7 +532,7 @@
}
else
{
- ASSERT( GetPrevName() == "set" );
+ ASSERT( GetPrevName() == _T("set") );
CComObjPtr<IMgaMetaSet> prev;
GetPrevObj(prev);
@@ -547,8 +546,8 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( i->first == "name" )
- COMTHROW( spec->put_Name(PutInBstr(i->second)) );
+ if( i->first == _T("name") )
+ COMTHROW( spec->put_Name(PutInBstr(i->second.c_str())) );
++i;
}
@@ -566,7 +565,7 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "desc", item, &IMgaMetaPointerItem::put_Desc);
+ Attr(i, _T("desc"), item, &IMgaMetaPointerItem::put_Desc);
++i;
}
@@ -576,7 +575,7 @@
{
CComObjPtr<IMgaMetaReference> reference;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
@@ -596,18 +595,18 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", reference, &IMgaMetaReference::put_Name);
- Attr(i, "metaref", reference, &IMgaMetaReference::put_MetaRef);
+ Attr(i, _T("name"), reference, &IMgaMetaReference::put_Name);
+ Attr(i, _T("metaref"), reference, &IMgaMetaReference::put_MetaRef);
++i;
}
- COMTHROW(reference->put_AliasingEnabled((GetByName(attributes, "aliasenabled") == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE));
+ COMTHROW(reference->put_AliasingEnabled((GetByName(attributes, _T("aliasenabled")) == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE));
}
void CMgaMetaParser::StartSet(const attributes_type &attributes)
{
CComObjPtr<IMgaMetaSet> set;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
@@ -627,19 +626,19 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", set, &IMgaMetaSet::put_Name);
- Attr(i, "metaref", set, &IMgaMetaSet::put_MetaRef);
+ Attr(i, _T("name"), set, &IMgaMetaSet::put_Name);
+ Attr(i, _T("metaref"), set, &IMgaMetaSet::put_MetaRef);
++i;
}
- COMTHROW(set->put_AliasingEnabled((GetByName(attributes, "aliasenabled") == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE));
+ COMTHROW(set->put_AliasingEnabled((GetByName(attributes, _T("aliasenabled")) == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE));
}
void CMgaMetaParser::StartModel(const attributes_type &attributes)
{
CComObjPtr<IMgaMetaModel> model;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
@@ -659,12 +658,12 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", model, &IMgaMetaModel::put_Name);
- Attr(i, "metaref", model, &IMgaMetaModel::put_MetaRef);
+ Attr(i, _T("name"), model, &IMgaMetaModel::put_Name);
+ Attr(i, _T("metaref"), model, &IMgaMetaModel::put_MetaRef);
++i;
}
- COMTHROW(model->put_AliasingEnabled((GetByName(attributes, "aliasenabled") == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE));
+ COMTHROW(model->put_AliasingEnabled((GetByName(attributes, _T("aliasenabled")) == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE));
}
void CMgaMetaParser::StartFCO2(const attributes_type &attributes)
@@ -674,23 +673,23 @@
CComObjPtr<IMgaMetaFCO> fco;
HRESULT hr;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
- hr = prev->get_DefinedFCOByName(PutInBstr(GetByName(attributes, "name")),
+ hr = prev->get_DefinedFCOByName(PutInBstr(GetByName(attributes, _T("name"))),
VARIANT_FALSE, PutOut(fco));
}
else
{
CComObjPtr<IMgaMetaModel> prev;
GetPrevObj(prev);
- hr = prev->get_DefinedFCOByName(PutInBstr(GetByName(attributes, "name")),
+ hr = prev->get_DefinedFCOByName(PutInBstr(GetByName(attributes, _T("name"))),
VARIANT_FALSE, PutOut(fco));
}
if( hr == E_NOTFOUND )
- ThrowXmlError("Parent FCO %s was not found", GetByName(attributes, "name").c_str());
+ ThrowXmlError(_T("Parent FCO %s was not found"), GetByName(attributes, _T("name")).c_str());
else
COMTHROW(hr);
@@ -701,14 +700,14 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( i->first == "attributes" )
+ if( i->first == _T("attributes") )
{
- std::string::const_iterator ip = i->second.begin();
- std::string::const_iterator ep = ip;
- std::string::const_iterator xp = i->second.end();
+ std::tstring::const_iterator ip = i->second.begin();
+ std::tstring::const_iterator ep = ip;
+ std::tstring::const_iterator xp = i->second.end();
for(;;)
{
- std::string token = GetNextToken(ip, ep, xp);
+ std::tstring token = GetNextToken(ip, ep, xp);
if( ip == xp )
break;
@@ -719,7 +718,7 @@
VARIANT_TRUE, PutOut(attr));
if( hr == E_NOTFOUND )
- ThrowXmlError("Defined attribute %s was not found", token.c_str());
+ ThrowXmlError(_T("Defined attribute %s was not found"), token.c_str());
else
COMTHROW(hr);
@@ -735,7 +734,7 @@
{
CComObjPtr<IMgaMetaAttribute> attr;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaMetaFolder> prev;
GetPrevObj(prev);
@@ -757,25 +756,25 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", attr, &IMgaMetaAttribute::put_Name);
- Attr(i, "defvalue", attr, &IMgaMetaAttribute::put_DefaultValue);
- Attr(i, "metaref", attr, &IMgaMetaAttribute::put_MetaRef);
+ Attr(i, _T("name"), attr, &IMgaMetaAttribute::put_Name);
+ Attr(i, _T("defvalue"), attr, &IMgaMetaAttribute::put_DefaultValue);
+ Attr(i, _T("metaref"), attr, &IMgaMetaAttribute::put_MetaRef);
- if( i->first == "valuetype" )
+ if( i->first == _T("valuetype") )
{
attval_enum attval;
- if( i->second == "integer" )
+ if( i->second == _T("integer") )
attval = ATTVAL_INTEGER;
- else if( i->second == "double" )
+ else if( i->second == _T("double") )
attval = ATTVAL_DOUBLE;
- else if( i->second == "boolean" )
+ else if( i->second == _T("boolean") )
attval = ATTVAL_BOOLEAN;
- else if( i->second == "string" )
+ else if( i->second == _T("string") )
attval = ATTVAL_STRING;
- else if( i->second == "enum" )
+ else if( i->second == _T("enum") )
attval = ATTVAL_ENUM;
- else if( i->second == "dynamic" )
+ else if( i->second == _T("dynamic") )
attval = ATTVAL_DYNAMIC;
else
HR_THROW(E_XMLPARSER);
@@ -783,7 +782,7 @@
COMTHROW( attr->put_ValueType(attval) );
}
- if( i->first == "viewable" && i->second == "no")
+ if( i->first == _T("viewable") && i->second == _T("no"))
attr->put_Viewable( VARIANT_FALSE);
++i;
@@ -802,8 +801,8 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "dispname", item, &IMgaMetaEnumItem::put_DisplayedName);
- Attr(i, "value", item, &IMgaMetaEnumItem::put_Value);
+ Attr(i, _T("dispname"), item, &IMgaMetaEnumItem::put_DisplayedName);
+ Attr(i, _T("value"), item, &IMgaMetaEnumItem::put_Value);
++i;
}
@@ -815,11 +814,11 @@
GetPrevObj(prev);
CComObjPtr<IMgaMetaFCO> fco;
- HRESULT hr = prev->get_DefinedFCOByName(PutInBstr(GetByName(attributes, "kind")),
+ HRESULT hr = prev->get_DefinedFCOByName(PutInBstr(GetByName(attributes, _T("kind"))),
VARIANT_TRUE, PutOut(fco));
if( hr == E_NOTFOUND )
- ThrowXmlError("Kind FCO %s was not found", GetByName(attributes, "kind").c_str());
+ ThrowXmlError(_T("Kind FCO %s was not found"), GetByName(attributes, _T("kind")).c_str());
else
COMTHROW(hr);
@@ -835,8 +834,8 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", role, &IMgaMetaRole::put_Name);
- Attr(i, "metaref", role, &IMgaMetaRole::put_MetaRef);
+ Attr(i, _T("name"), role, &IMgaMetaRole::put_Name);
+ Attr(i, _T("metaref"), role, &IMgaMetaRole::put_MetaRef);
++i;
}
@@ -860,17 +859,17 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", aspect, &IMgaMetaAspect::put_Name);
- Attr(i, "metaref", aspect, &IMgaMetaAspect::put_MetaRef);
+ Attr(i, _T("name"), aspect, &IMgaMetaAspect::put_Name);
+ Attr(i, _T("metaref"), aspect, &IMgaMetaAspect::put_MetaRef);
- if( i->first == "attributes" )
+ if( i->first == _T("attributes") )
{
- std::string::const_iterator ip = i->second.begin();
- std::string::const_iterator ep = ip;
- std::string::const_iterator xp = i->second.end();
+ std::tstring::const_iterator ip = i->second.begin();
+ std::tstring::const_iterator ep = ip;
+ std::tstring::const_iterator xp = i->second.end();
for(;;)
{
- std::string token = GetNextToken(ip, ep, xp);
+ std::tstring token = GetNextToken(ip, ep, xp);
if( ip == xp )
break;
@@ -880,7 +879,7 @@
HRESULT hr = model->get_AttributeByName(PutInBstr(token), PutOut(attr));
if( hr == E_NOTFOUND )
- ThrowXmlError("Attribute %s was not found", token.c_str());
+ ThrowXmlError(_T("Attribute %s was not found"), token.c_str());
else
COMTHROW(hr);
@@ -900,17 +899,17 @@
GetPrevObj(prev);
ASSERT( elements.size() >= 3 );
- ASSERT( elements[elements.size()-3].name == "model" );
+ ASSERT( elements[elements.size()-3].name == _T("model") );
CComObjPtr<IMgaMetaModel> model;
COMTHROW( elements[elements.size()-3].object.QueryInterface(model) );
ASSERT( model != NULL );
CComObjPtr<IMgaMetaRole> role;
- HRESULT hr = model->get_RoleByName(PutInBstr(GetByName(attributes, "role")), PutOut(role));
+ HRESULT hr = model->get_RoleByName(PutInBstr(GetByName(attributes, _T("role"))), PutOut(role));
if( hr == E_NOTFOUND )
- ThrowXmlError("Role %s was not found", GetByName(attributes, "role").c_str());
+ ThrowXmlError(_T("Role %s was not found"), GetByName(attributes, _T("role")).c_str());
else
COMTHROW(hr);
@@ -923,16 +922,16 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "kindaspect", part, &IMgaMetaPart::put_KindAspect);
- Attr(i, "metaref", part, &IMgaMetaPart::put_MetaRef);
+ Attr(i, _T("kindaspect"), part, &IMgaMetaPart::put_KindAspect);
+ Attr(i, _T("metaref"), part, &IMgaMetaPart::put_MetaRef);
- if( i->first == "primary" )
+ if( i->first == _T("primary") )
{
- COMTHROW( part->put_IsPrimary(i->second == "yes" ? VARIANT_TRUE : VARIANT_FALSE) );
+ COMTHROW( part->put_IsPrimary(i->second == _T("yes") ? VARIANT_TRUE : VARIANT_FALSE) );
}
- else if( i->first == "linked" )
+ else if( i->first == _T("linked") )
{
- COMTHROW( part->put_IsLinked(i->second == "yes" ? VARIANT_TRUE : VARIANT_FALSE) );
+ COMTHROW( part->put_IsLinked(i->second == _T("yes") ? VARIANT_TRUE : VARIANT_FALSE) );
}
++i;
@@ -947,15 +946,15 @@
CComObjPtr<IMgaMetaRegNode> regnode;
- const std::string &name = GetByName(attributes, "name");
+ const std::tstring &name = GetByName(attributes, _T("name"));
- if( GetPrevName() == "part" )
+ if( GetPrevName() == _T("part") )
{
CComObjPtr<IMgaMetaPart> prev;
GetPrevObj(prev);
COMTHROW( prev->get_RegistryNode(PutInBstr(name), PutOut(regnode)) );
}
- else if( GetPrevName() == "regnode" )
+ else if( GetPrevName() == _T("regnode") )
{
CComObjPtr<IMgaMetaRegNode> prev;
GetPrevObj(prev);
@@ -975,7 +974,7 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "value", regnode, &IMgaMetaRegNode::put_Value);
+ Attr(i, _T("value"), regnode, &IMgaMetaRegNode::put_Value);
++i;
}
@@ -999,28 +998,28 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- Attr(i, "name", c, &IMgaMetaConstraint::put_Name);
- Attr(i, "eventmask", c, &IMgaMetaConstraint::put_EventMask);
- Attr(i, "priority", c, &IMgaMetaConstraint::put_Priority);
- Attr(i, "defdfornamesp", c, &IMgaMetaConstraint::SetDefinedForNamespace);
+ Attr(i, _T("name"), c, &IMgaMetaConstraint::put_Name);
+ Attr(i, _T("eventmask"), c, &IMgaMetaConstraint::put_EventMask);
+ Attr(i, _T("priority"), c, &IMgaMetaConstraint::put_Priority);
+ Attr(i, _T("defdfornamesp"), c, &IMgaMetaConstraint::SetDefinedForNamespace);
- if( i->first == "depth" )
+ if( i->first == _T("depth") )
{
constraint_depth_enum depth;
- if( i->second == "0" )
+ if( i->second == _T("0") )
depth = CONSTRAINT_DEPTH_ZERO;
- else if( i->second == "any" )
+ else if( i->second == _T("any") )
depth = CONSTRAINT_DEPTH_ANY;
else
depth = CONSTRAINT_DEPTH_ONE;
COMTHROW( c->put_Depth(depth) );
}
- else if( i->first == "type" )
+ else if( i->first == _T("type") )
{
constraint_type_enum type;
- if( i->second == "ondemand" )
+ if( i->second == _T("ondemand") )
type = CONSTRAINT_TYPE_ONDEMAND;
- else if( i->second == "function" )
+ else if( i->second == _T("function") )
type = CONSTRAINT_TYPE_FUNCTION;
else
type = CONSTRAINT_TYPE_EVENTBASED;
Modified: trunk/GME/Parser/MetaParser.h
==============================================================================
--- trunk/GME/Parser/MetaParser.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MetaParser.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -47,8 +47,8 @@
// ------- Attributes
public:
- static const std::string GetNextToken(std::string::const_iterator &i,
- std::string::const_iterator &e, std::string::const_iterator end);
+ static const std::tstring GetNextToken(std::tstring::const_iterator &i,
+ std::tstring::const_iterator &e, std::tstring::const_iterator end);
typedef CGenParserFunc<CMgaMetaParser> elementfunc;
@@ -83,8 +83,8 @@
void StartEnumItem(const attributes_type &attributes);
void StartConstraint(const attributes_type &attributes);
void EndConstraint();
- void fireStartFunction(const std::string& name, const attributes_type& attributes);
- void fireEndFunction(const std::string& name);
+ void fireStartFunction(const std::tstring& name, const attributes_type& attributes);
+ void fireEndFunction(const std::tstring& name);
};
#endif//MGA_MgaMetaParser_H
Modified: trunk/GME/Parser/MgaDumper.cpp
==============================================================================
--- trunk/GME/Parser/MgaDumper.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaDumper.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -90,13 +90,13 @@
if( p == NULL )
HR_THROW(E_INVALIDARG);
- std::string filename;
+ std::tstring filename;
CopyTo(xmlfile, filename);
if( filename.empty() )
HR_THROW(E_INVALIDARG);
- ofs.init( filename.c_str(), "UTF-8");
+ ofs.init( filename.c_str(), _T("UTF-16"));
elems.clear();
@@ -148,7 +148,7 @@
{
InitDump(p, xmlfile);
- ofs << "<!DOCTYPE project SYSTEM \"mga.dtd\">\n\n";
+ ofs << L"<!DOCTYPE project SYSTEM \"mga.dtd\">\n\n";
Dump(p);
@@ -195,25 +195,25 @@
InitDump(project, xmlfile);
- ofs << "<!DOCTYPE clipboard SYSTEM \"mga.dtd\" [\n";
- ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
+ ofs << L"<!DOCTYPE clipboard SYSTEM \"mga.dtd\" [\r\n";
+ ofs << L"\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\r\n";
//ofs << "\t<!ATTLIST clipboard acceptingkind CDATA #IMPLIED>\n";
//ofs << "]>\n\n";
- ofs << "\t<!ATTLIST clipboard\n";
- ofs << "\t\tacceptingkind CDATA #IMPLIED\n";
- ofs << "\t\tparadigmnamehint CDATA #IMPLIED\n";//TODO: could be extended with targetnamespacehint, srcnamespacehint
- ofs << "\t>\n";
- ofs << "]>\n\n";
+ ofs << L"\t<!ATTLIST clipboard\r\n";
+ ofs << L"\t\tacceptingkind CDATA #IMPLIED\r\n";
+ ofs << L"\t\tparadigmnamehint CDATA #IMPLIED\r\n";//TODO: could be extended with targetnamespacehint, srcnamespacehint
+ ofs << L"\t>\r\n";
+ ofs << L"]>\r\n\r\n";
- StartElem("clipboard");
+ StartElem(_T("clipboard"));
// dumping originating paradigm name as a hint for the parser
CComObjPtr<IMgaMetaProject> metaproject;
COMTHROW( project->get_RootMeta(PutOut(metaproject)) );
ASSERT( metaproject != NULL );
- if( metaproject) Attr("paradigmnamehint", metaproject, &IMgaMetaProject::get_Name);
+ if( metaproject) Attr(_T("paradigmnamehint"), metaproject, &IMgaMetaProject::get_Name);
CComObjPtrVector<IMgaFolder>::iterator fi = m_selFolders.begin();
while( fi != m_selFolders.end() )
@@ -248,9 +248,9 @@
if( !m_selRegNodes.empty())
{
- StartElem("regnode");
- Attr("name", "annotations");
- StartElem("value");
+ StartElem(_T("regnode"));
+ Attr(_T("name"), _T("annotations"));
+ StartElem(_T("value"));
EndElem(); //value
for( CComObjPtrVector<IMgaRegNode>::iterator ri = m_selRegNodes.begin(); ri != m_selRegNodes.end(); ++ri)
@@ -273,7 +273,7 @@
ofs << '\t';
}
-inline void CMgaDumper::StartElem(const char *name)
+inline void CMgaDumper::StartElem(const TCHAR *name)
{
ASSERT( name != NULL );
@@ -281,7 +281,7 @@
{
ASSERT( !elems.back().indata );
- ofs << ">\n";
+ ofs << L">\n";
elems.back().inbody = true;
}
@@ -291,20 +291,20 @@
elems.back().indata = false;
Indent(elems.size()-1);
- ofs << '<' << name;
+ ofs << L'<' << name;
}
-inline void CMgaDumper::Attr(const char *name, const char *value)
+inline void CMgaDumper::Attr(const TCHAR *name, const TCHAR *value)
{
ASSERT( name != NULL );
ASSERT( value != NULL );
ASSERT( !elems.empty() && !elems.back().inbody );
- ofs << ' ' << name << "=\"" << Transcoder::StdEscape << value << Transcoder::NoEscape << '"';
+ ofs << L' ' << name << L"=\"" << Transcoder::StdEscape << value << Transcoder::NoEscape << L'"';
}
-inline void CMgaDumper::Attr(const char *name, const char *value, int len)
+inline void CMgaDumper::Attr(const TCHAR *name, const TCHAR *value, int len)
{
ASSERT( name != NULL );
ASSERT( value != NULL );
@@ -312,14 +312,14 @@
ASSERT( !elems.empty() && !elems.back().inbody && !elems.back().indata );
- ofs << ' ' << name << "=\"" << Transcoder::StdEscape << std::string( value, len) << Transcoder::NoEscape << '"';
+ ofs << L' ' << name << L"=\"" << Transcoder::StdEscape << std::tstring( value, len) << Transcoder::NoEscape << L'"';
}
-bool CMgaDumper::HasMarkup(const char *value, int len)
+bool CMgaDumper::HasMarkup(const TCHAR *value, int len)
{
while( --len >= 0 )
{
- char c = *(value++);
+ TCHAR c = *(value++);
if( c == '<' || c == '>' || c == '&' || c == '\'' || c == '\"' )
return true;
}
@@ -327,7 +327,7 @@
return false;
}
-inline void CMgaDumper::Data(const char *value, int len)
+inline void CMgaDumper::Data(const TCHAR *value, int len)
{
ASSERT( value != NULL );
ASSERT( len >= 0 );
@@ -335,11 +335,11 @@
if( !elems.back().inbody )
{
- ofs << ">";
+ ofs << L">";
elems.back().inbody = true;
}
- ofs << Transcoder::StdEscape << std::string( value, len) << Transcoder::NoEscape;
+ ofs << Transcoder::StdEscape << std::tstring( value, len) << Transcoder::NoEscape;
elems.back().indata = true;
@@ -354,11 +354,11 @@
if( !elems.back().indata )
Indent(elems.size()-1);
- ofs << "</" << elems.back().name << ">\n";
+ ofs << L"</" << elems.back().name << L">\n";
}
else
{
- ofs << "/>\n";
+ ofs << L"/>\n";
}
elems.pop_back();
@@ -474,16 +474,16 @@
CComBstrObj bstr;
GUID guid;
- StartElem("project");
+ StartElem(_T("project"));
COMTHROW( project->get_GUID(PutOut(variant)) );
CopyTo(variant, guid);
CopyTo(guid, PutOut(bstr));
- Attr("guid", bstr);
+ Attr(_T("guid"), bstr);
- Attr("cdate", project, &IMgaProject::get_CreateTime);
- Attr("mdate", project, &IMgaProject::get_ChangeTime);
- Attr("version", project, &IMgaProject::get_Version);
+ Attr(_T("cdate"), project, &IMgaProject::get_CreateTime);
+ Attr(_T("mdate"), project, &IMgaProject::get_ChangeTime);
+ Attr(_T("version"), project, &IMgaProject::get_Version);
CComObjPtr<IMgaMetaProject> metaproject;
COMTHROW( project->get_RootMeta(PutOut(metaproject)) );
@@ -494,21 +494,21 @@
COMTHROW( metaproject->get_GUID(PutOut(variant)) );
CopyTo(variant, guid);
CopyTo(guid, PutOut(bstr));
- Attr("metaguid", bstr);
- Attr("metaversion", metaproject, &IMgaMetaProject::get_Version);
- Attr("metaname", metaproject, &IMgaMetaProject::get_Name);
+ Attr(_T("metaguid"), bstr);
+ Attr(_T("metaversion"), metaproject, &IMgaMetaProject::get_Version);
+ Attr(_T("metaname"), metaproject, &IMgaMetaProject::get_Name);
- StartElem("name");
+ StartElem(_T("name"));
Data(project, &IMgaProject::get_Name);
EndElem();
- StartElem("comment");
+ StartElem(_T("comment"));
Data(project, &IMgaProject::get_Comment);
EndElem();
- StartElem("author");
+ StartElem(_T("author"));
Data(project, &IMgaProject::get_Author);
EndElem();
@@ -523,9 +523,9 @@
{
ASSERT( folder != NULL );
- StartElem("folder");
+ StartElem(_T("folder"));
- Attr("id", folder, &IMgaFolder::get_ID);
+ Attr(_T("id"), folder, &IMgaFolder::get_ID);
if( m_closureDump && m_v2)
{
@@ -539,33 +539,33 @@
CComBstrObj guid_str;
COMTHROW( regnode->get_Value( PutOut(guid_str)));
if( guid_str.Length() == GLOBAL_ID_LEN) // using { 8-4-4-4-12} form
- Attr( "closureguid", guid_str);
+ Attr( _T("closureguid"), guid_str);
}
- Attr( "closurename", folder, &IMgaFolder::get_Name);
+ Attr( _T("closurename"), folder, &IMgaFolder::get_Name);
}
if(dumpversion >= 1) {
if( m_dumpRelids)
{
- LAttr("relid", folder, &IMgaFolder::get_RelID);
- LAttr("childrelidcntr", folder, &IMgaFolder::get_ChildRelIDCounter);
+ LAttr(_T("relid"), folder, &IMgaFolder::get_RelID);
+ LAttr(_T("childrelidcntr"), folder, &IMgaFolder::get_ChildRelIDCounter);
}
CComBstrObj libname;
COMTHROW( folder->get_LibraryName(PutOut(libname)) );
- if(libname) Attr("libref",libname);
+ if(libname) Attr(_T("libref"),libname);
VARIANT_BOOL readonly;
COMTHROW( folder->HasReadOnlyAccess( &readonly));
- if( readonly) Attr( "perm", "1");
+ if( readonly) Attr( _T("perm"), _T("1"));
}
CComObjPtr<IMgaMetaFolder> metafolder;
COMTHROW( folder->get_MetaFolder(PutOut(metafolder)) );
- Attr("kind", metafolder, &IMgaMetaFolder::get_Name);
+ Attr(_T("kind"), metafolder, &IMgaMetaFolder::get_Name);
if( m_dumpGuids) // this is true if Project is dumped and mgaversion of project is 2
{
@@ -574,14 +574,14 @@
CComBstrObj bs;
HRESULT hr = folder->GetGuidDisp( PutOut( bs));
if( SUCCEEDED( hr) && bs && bs.Length() == 38) // {%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X} <-- dumping that form (38 chars long including braces)
- Attr( "guid", bs);//Attr( "guid", IMgaObject::GetGuidDisp);
+ Attr( _T("guid"), bs);//Attr( _T("guid"), IMgaObject::GetGuidDisp);
} catch( hresult_exception& )
{
}
}
- StartElem("name");
+ StartElem(_T("name"));
Data(folder, &IMgaFolder::get_Name);
EndElem();
@@ -613,22 +613,22 @@
{
ASSERT( regnode != NULL );
- StartElem("regnode");
+ StartElem(_T("regnode"));
- Attr("name", regnode, &IMgaRegNode::get_Name);
+ Attr(_T("name"), regnode, &IMgaRegNode::get_Name);
VARIANT_BOOL b;
COMTHROW( regnode->get_Opacity(&b) );
if( b != VARIANT_FALSE )
- Attr("isopaque", "yes");
+ Attr(_T("isopaque"), _T("yes"));
long status;
COMTHROW( regnode->get_Status( &status ) );
if( status == -2) // ATTSTATUS_UNDEFINED
- Attr("status", "undefined");
+ Attr(_T("status"), _T("undefined"));
- StartElem("value");
+ StartElem(_T("value"));
Data(regnode, &IMgaRegNode::get_Value);
EndElem();
@@ -728,16 +728,16 @@
if( dump_attrs )
{
- Attr("id", fco, &IMgaFCO::get_ID);
+ Attr(_T("id"), fco, &IMgaFCO::get_ID);
CComObjPtr<IMgaMetaFCO> metafco;
COMTHROW( fco->get_Meta(PutOut(metafco)) );
- Attr("kind", metafco, &IMgaMetaFCO::get_Name);
+ Attr(_T("kind"), metafco, &IMgaMetaFCO::get_Name);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( fco->get_MetaRole(PutOut(role)) );
if( role != NULL )
- Attr("role", role, &IMgaMetaRole::get_Name);
+ Attr(_T("role"), role, &IMgaMetaRole::get_Name);
if( m_dumpGuids) // this is true if Project is dumped and mgaversion of project is 2
{
@@ -746,7 +746,7 @@
CComBstrObj bs;
HRESULT hr = fco->GetGuidDisp( PutOut( bs));
if( SUCCEEDED( hr) && bs && bs.Length() == 38) // {%08lX-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X} <-- dumping that form (38 chars long including braces)
- Attr( "guid", bs);//Attr( "guid", IMgaFCO::GetGuidDisp);
+ Attr( _T("guid"), bs);//Attr( _T("guid"), IMgaFCO::GetGuidDisp);
} catch( hresult_exception& )
{
@@ -759,9 +759,9 @@
CComBstrObj guid_str; // this form will not create the node if is not present
COMTHROW( fco->get_RegistryValue( CComBSTR( GLOBAL_ID_STR), PutOut( guid_str)));
if( guid_str != 0 && guid_str.Length() == GLOBAL_ID_LEN) // using { 8-4-4-4-12} form
- Attr( "closureguid", guid_str);
+ Attr( _T("closureguid"), guid_str);
- Attr( "closurename", fco, &IMgaFCO::get_Name);
+ Attr( _T("closurename"), fco, &IMgaFCO::get_Name);
}
@@ -772,15 +772,15 @@
if(derivedfrom != NULL )
{
if (CheckInClosure(derivedfrom)) {
- Attr("derivedfrom", derivedfrom, &IMgaFCO::get_ID);
+ Attr(_T("derivedfrom"), derivedfrom, &IMgaFCO::get_ID);
VARIANT_BOOL b;
COMTHROW( fco->get_IsInstance(&b) );
- Attr("isinstance", b != VARIANT_FALSE ? "yes" : "no");
+ Attr(_T("isinstance"), b != VARIANT_FALSE ? _T("yes") : _T("no"));
COMTHROW( fco->get_IsPrimaryDerived(&prim) );
- Attr("isprimary", prim != VARIANT_FALSE ? "yes" : "no");
+ Attr(_T("isprimary"), prim != VARIANT_FALSE ? _T("yes") : _T("no"));
}
else {
lost_basetype = true;
@@ -791,40 +791,40 @@
if ( m_dumpLibraryStubs && !CheckInClosure(derivedfrom) && !isInLibrary( fco) && isInLibrary( derivedfrom)) { //derived from a type defined in a library
CComBSTR name;
COMTHROW( derivedfrom->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
- Attr("closurelibderivedfrom", nm);
+ Attr(_T("closurelibderivedfrom"), nm);
VARIANT_BOOL b;
COMTHROW( fco->get_IsInstance(&b) );
- Attr("isinstance", b != VARIANT_FALSE ? "yes" : "no");
+ Attr(_T("isinstance"), b != VARIANT_FALSE ? _T("yes") : _T("no"));
COMTHROW( fco->get_IsPrimaryDerived(&prim) );
- Attr("isprimary", prim != VARIANT_FALSE ? "yes" : "no");
+ Attr(_T("isprimary"), prim != VARIANT_FALSE ? _T("yes") : _T("no"));
}
else if( m_v2)
{
CComBSTR name;
COMTHROW( derivedfrom->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
COMTHROW( fco->get_AbsPath( &name));
- std::string nm2;
+ std::tstring nm2;
CopyTo( name, nm2);
- Attr("closure2derivedfrom", makeRel( nm, nm2));
+ Attr(_T("closure2derivedfrom"), makeRel( nm, nm2));
VARIANT_BOOL b;
COMTHROW( fco->get_IsInstance(&b) );
- Attr("isinstance", b != VARIANT_FALSE ? "yes" : "no");
+ Attr(_T("isinstance"), b != VARIANT_FALSE ? _T("yes") : _T("no"));
COMTHROW( fco->get_IsPrimaryDerived(&prim) );
- Attr("isprimary", prim != VARIANT_FALSE ? "yes" : "no");
+ Attr(_T("isprimary"), prim != VARIANT_FALSE ? _T("yes") : _T("no"));
}
}
@@ -833,20 +833,20 @@
CComBstrObj guid;
COMTHROW( derivedfrom->get_RegistryValue( CComBSTR( GLOBAL_ID_STR), PutOut( guid)));
if( guid != 0 && guid.Length() == GLOBAL_ID_LEN)
- Attr( "smartDerivedFromGUID", guid);
+ Attr( _T("smartDerivedFromGUID"), guid);
}
}
if(prim && (dumpversion >= 1) && (!lost_basetype) && m_dumpRelids)
- LAttr("relid", fco, &IMgaFCO::get_RelID);
+ LAttr(_T("relid"), fco, &IMgaFCO::get_RelID);
VARIANT_BOOL readonly;
COMTHROW( fco->HasReadOnlyAccess( &readonly));
- if( readonly) Attr( "perm", "1");
+ if( readonly) Attr( _T("perm"), _T("1"));
}
if( dump_name )
{
- StartElem("name");
+ StartElem(_T("name"));
Data(fco, &IMgaFCO::get_Name);
EndElem();
}
@@ -878,10 +878,10 @@
{
ASSERT( model != NULL );
- StartElem("model");
+ StartElem(_T("model"));
DumpFCO(model, true, false, false);
- if(dumpversion >= 1 && m_dumpRelids) LAttr("childrelidcntr", model, &IMgaModel::get_ChildRelIDCounter);
+ if(dumpversion >= 1 && m_dumpRelids) LAttr(_T("childrelidcntr"), model, &IMgaModel::get_ChildRelIDCounter);
DumpFCO(model, false, true, true);
Dump(model, &IMgaModel::get_ChildFCOs);
@@ -921,13 +921,13 @@
{
ASSERT( constraint != NULL );
- StartElem("constraint");
+ StartElem(_T("constraint"));
- StartElem("name");
+ StartElem(_T("name"));
Data(constraint, &IMgaConstraint::get_Name);
EndElem();
- StartElem("value");
+ StartElem(_T("value"));
Data(constraint, &IMgaConstraint::get_Expression);
EndElem();
@@ -938,25 +938,25 @@
{
ASSERT( attribute != NULL );
- StartElem("attribute");
+ StartElem(_T("attribute"));
CComObjPtr<IMgaMetaAttribute> metaattr;
COMTHROW( attribute->get_Meta(PutOut(metaattr)) );
- Attr("kind", metaattr, &IMgaMetaAttribute::get_Name);
+ Attr(_T("kind"), metaattr, &IMgaMetaAttribute::get_Name);
long status;
COMTHROW( attribute->get_Status(&status) );
if( status < 0 )
- Attr("status", "meta");
+ Attr(_T("status"), _T("meta"));
else if( status > 0 )
- Attr("status", "inherited");
+ Attr(_T("status"), _T("inherited"));
- StartElem("value");
+ StartElem(_T("value"));
attval_enum attval;
COMTHROW( metaattr->get_ValueType(&attval) );
- std::string data;
+ std::tstring data;
switch(attval)
{
@@ -974,7 +974,7 @@
{
long l;
COMTHROW( attribute->get_IntValue(&l) );
- Format(data, "%ld", l);
+ Format(data, _T("%ld"), l);
break;
}
@@ -982,7 +982,7 @@
{
double d;
COMTHROW( attribute->get_FloatValue(&d) );
- Format(data, "%g", d);
+ Format(data, _T("%g"), d);
break;
}
@@ -992,9 +992,9 @@
COMTHROW( attribute->get_BoolValue(&b) );
if( b != VARIANT_FALSE )
- data = "true";
+ data = _T("true");
else
- data = "false";
+ data = _T("false");
break;
}
@@ -1029,7 +1029,7 @@
{
ASSERT( atom != NULL );
- StartElem("atom");
+ StartElem(_T("atom"));
DumpFCO(atom);
@@ -1040,7 +1040,7 @@
{
ASSERT( reference != NULL );
- StartElem("reference");
+ StartElem(_T("reference"));
DumpFCO(reference, true, false, false);
@@ -1050,7 +1050,7 @@
if( fco != NULL)
{
if( CheckInClosure( fco)) // regular dump or the fco is really in the closure
- Attr("referred", fco, &IMgaFCO::get_ID);
+ Attr(_T("referred"), fco, &IMgaFCO::get_ID);
if( m_closureDump)
{
@@ -1058,26 +1058,26 @@
{
CComBSTR name;
COMTHROW( fco->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
- Attr("closurelibreferred", nm);
+ Attr(_T("closurelibreferred"), nm);
}
// dump the relativepath of the referred object if v2
- else if( m_v2) // "else" introd freshly, not to dump to paths, the parser will check first for closurelibreferred
+ else if( m_v2) // _T("else") introd freshly, not to dump to paths, the parser will check first for closurelibreferred
{
CComBSTR name;
COMTHROW( fco->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
COMTHROW( reference->get_AbsPath( &name));
- std::string nm2;
+ std::tstring nm2;
CopyTo( name, nm2);
- Attr("closure2referred", makeRel( nm, nm2));
+ Attr(_T("closure2referred"), makeRel( nm, nm2));
}
// dump guid of fco if m_v2
@@ -1086,7 +1086,7 @@
CComBstrObj ref_guid;
COMTHROW( fco->get_RegistryValue( CComBSTR( GLOBAL_ID_STR), PutOut( ref_guid)));
if( ref_guid != 0 && ref_guid.Length() == GLOBAL_ID_LEN) // valid guid
- Attr( "smartReferredGUID", ref_guid);
+ Attr( _T("smartReferredGUID"), ref_guid);
}
}
}
@@ -1099,7 +1099,7 @@
short stat;
COMTHROW( reference->CompareToBase(&stat));
if(!stat) {
- Attr("isbound", "yes" );
+ Attr(_T("isbound"), _T("yes") );
}
}
@@ -1112,7 +1112,7 @@
{
ASSERT( connection != NULL );
- StartElem("connection");
+ StartElem(_T("connection"));
bool skipdump = false;
@@ -1123,7 +1123,7 @@
short stat;
COMTHROW( connection->CompareToBase(NULL, &stat));
if(!stat) {
- Attr("isbound", "yes" );
+ Attr(_T("isbound"), _T("yes") );
skipdump = true;
}
}
@@ -1142,7 +1142,7 @@
{
ASSERT( set != NULL );
- StartElem("set");
+ StartElem(_T("set"));
DumpFCO(set, true, false, false);
bool skipdump = false;
@@ -1153,7 +1153,7 @@
short stat;
COMTHROW( set->CompareToBase(&stat));
if(!stat) {
- Attr("isbound", "yes" );
+ Attr(_T("isbound"), _T("yes") );
skipdump = true;
}
}
@@ -1172,12 +1172,12 @@
if( m_v2)
{
- std::string memberguids = DumpMixedGUIDRefs( members); // uses m_currAbsPath
- if( !memberguids.empty()) Attr( "smartMemberGUIDs", memberguids);
+ std::tstring memberguids = DumpMixedGUIDRefs( members); // uses m_currAbsPath
+ if( !memberguids.empty()) Attr( _T("smartMemberGUIDs"), memberguids);
}
}
- DumpIDRefs("members", members); // might use m_currAbsPath
+ DumpIDRefs(_T("members"), members); // might use m_currAbsPath
}
DumpFCO(set, false, true, true);
@@ -1189,9 +1189,9 @@
{
ASSERT( connpoint != NULL );
- StartElem("connpoint");
+ StartElem(_T("connpoint"));
- Attr("role", connpoint, &IMgaConnPoint::get_ConnRole);
+ Attr(_T("role"), connpoint, &IMgaConnPoint::get_ConnRole);
CComObjPtr<IMgaFCO> target;
COMTHROW( connpoint->get_Target(PutOut(target)) );
@@ -1210,11 +1210,11 @@
short stat;
COMTHROW( conn->CompareToBase(connpoint, &stat));
if(!stat) {
- Attr("isbound", "yes" );
+ Attr(_T("isbound"), _T("yes") );
}
}
- Attr("target", target, &IMgaFCO::get_ID);
+ Attr(_T("target"), target, &IMgaFCO::get_ID);
if( m_closureDump)
{
@@ -1227,19 +1227,19 @@
{
CComBSTR name;
COMTHROW( target->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
- Attr("closurelibtarget", nm);
+ Attr(_T("closurelibtarget"), nm);
}
else if( m_v2) // closure v2
{
CComBSTR name;
COMTHROW( target->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
- Attr("closure2target", makeRel( nm, m_currAbsPath));
+ Attr(_T("closure2target"), makeRel( nm, m_currAbsPath));
}
}
@@ -1247,16 +1247,16 @@
CComObjPtrVector<IMgaFCO> refs;
COMTHROW( connpoint->get_References(PutOut(refs)) );
// m_currAbsPath is set above, at the "closure2target" dump
- DumpIDRefs("refs", refs);
+ DumpIDRefs(_T("refs"), refs);
EndElem();
}
-void CMgaDumper::DumpIDRefs(const char *name, CComObjPtrVector<IMgaFCO> &fcos)
+void CMgaDumper::DumpIDRefs(const TCHAR *name, CComObjPtrVector<IMgaFCO> &fcos)
{
if( !fcos.empty() )
{
- std::string idrefs, clos_idrefs;
+ std::tstring idrefs, clos_idrefs;
CComObjPtrVector<IMgaFCO>::iterator i = fcos.begin();
CComObjPtrVector<IMgaFCO>::iterator e = fcos.end();
@@ -1266,7 +1266,7 @@
{
CComBSTR name;
COMTHROW( (*i)->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
if( !clos_idrefs.empty() )
@@ -1282,7 +1282,7 @@
CComBstrObj bstr;
COMTHROW( (*i)->get_ID(PutOut(bstr)) );
- std::string id;
+ std::tstring id;
CopyTo(bstr, id);
if( !idrefs.empty() )
@@ -1298,14 +1298,14 @@
if( m_closureDump && m_v2 && !clos_idrefs.empty()) // closure v2
{
- std::string clos_name("closure2"); clos_name += name;
+ std::tstring clos_name(_T("closure2")); clos_name += name;
Attr( clos_name.c_str(), clos_idrefs);
}
}
}
-std::string CMgaDumper::DumpGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos)
+std::tstring CMgaDumper::DumpGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos)
{
- std::string guidrefs;
+ std::tstring guidrefs;
for( CComObjPtrVector<IMgaFCO>::iterator i = fcos.begin(); i != fcos.end(); ++i)
{
@@ -1314,7 +1314,7 @@
if( bstr != 0 && bstr.Length() == GLOBAL_ID_LEN)
{
- std::string guid;
+ std::tstring guid;
CopyTo(bstr, guid);
if( !guidrefs.empty() )
@@ -1323,24 +1323,24 @@
guidrefs += guid;
}
else
- return ""; // if one guid not found, then all are disregarded
+ return _T(""); // if one guid not found, then all are disregarded
}
return guidrefs;
}
-std::string CMgaDumper::DumpMixedGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos)
+std::tstring CMgaDumper::DumpMixedGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos)
{
// this method produces a sequence of the {guid}=path forms
//{E200BEEB-34BC-4271-A134-AA5728C38124}\\/@../@module_ref1|kind=module_ref|relpos=0
- std::string guidrefs;
+ std::tstring guidrefs;
for( CComObjPtrVector<IMgaFCO>::iterator i = fcos.begin(); i != fcos.end(); ++i)
{
CComBSTR name;
COMTHROW( (*i)->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
if( !guidrefs.empty() )
@@ -1351,7 +1351,7 @@
if( bstr != 0 && bstr.Length() == GLOBAL_ID_LEN)
{
- std::string guid;
+ std::tstring guid;
CopyTo(bstr, guid);
@@ -1375,12 +1375,12 @@
//small speed up, build a vector of strings first, then sort the strings
//while doing the sort operations on the original vector, so we don't have
//to call the get_Name function each time we look at a RegNode
- std::vector<std::string> vPrime;
+ std::vector<std::tstring> vPrime;
for (int i=0; i<n; i++)
{
CComBSTR bstr;
COMTHROW((*v)[i]->get_Name(&bstr));
- std::string s;
+ std::tstring s;
CopyTo(bstr,s);
vPrime.push_back(s);
}
@@ -1388,7 +1388,7 @@
//in place insertion sort
for (int x=1; x<n; x++)
{
- std::string index = vPrime[x];
+ std::tstring index = vPrime[x];
CComObjPtr<IMgaRegNode> indexRegNode = (*v)[x];
int y = x;
@@ -1415,14 +1415,14 @@
//small speed up, build a vector of strings first, then sort the strings
//while doing the sort operations on the original vector, so we don't have
//to get the Kind Name every time
- std::vector<std::string> vPrime;
+ std::vector<std::tstring> vPrime;
for (int i=0; i<n; i++)
{
CComBSTR bstr;
CComPtr<IMgaMetaAttribute> meta;
COMTHROW((*v)[i]->get_Meta(&meta));
COMTHROW(meta->get_Name(&bstr));
- std::string s;
+ std::tstring s;
CopyTo(bstr,s);
vPrime.push_back(s);
}
@@ -1430,7 +1430,7 @@
//in place insertion sort
for (int x=1; x<n; x++)
{
- std::string index = vPrime[x];
+ std::tstring index = vPrime[x];
CComObjPtr<IMgaAttribute> indexAttr = (*v)[x];
int y = x;
@@ -1456,14 +1456,14 @@
//small speed up, build a vector of strings first, then sort the strings
//while doing the sort operations on the original vector, so we don't have
//to get the Target ID every time
- std::vector<std::string> vPrime;
+ std::vector<std::tstring> vPrime;
for (int i=0; i<n; i++)
{
CComBSTR bstr;
CComPtr<IMgaFCO> fco;
COMTHROW((*v)[i]->get_Target(&fco));
COMTHROW(fco->get_ID(&bstr));
- std::string s;
+ std::tstring s;
CopyTo(bstr,s);
vPrime.push_back(s);
}
@@ -1471,7 +1471,7 @@
//in place insertion sort
for (int x=1; x<n; x++)
{
- std::string index = vPrime[x];
+ std::tstring index = vPrime[x];
CComObjPtr<IMgaConnPoint> indexConnPoint = (*v)[x];
int y = x;
@@ -1497,12 +1497,12 @@
//small speed up, build a vector of strings first, then sort the strings
//while doing the sort operations on the original vector, so we don't have
//to call the get_ID function each time we look at a Folder
- std::vector<std::string> vPrime;
+ std::vector<std::tstring> vPrime;
for (int i=0; i<n; i++)
{
CComBSTR bstr;
COMTHROW((*v)[i]->get_ID(&bstr));
- std::string s;
+ std::tstring s;
CopyTo(bstr,s);
vPrime.push_back(s);
}
@@ -1510,7 +1510,7 @@
//in place insertion sort
for (int x=1; x<n; x++)
{
- std::string index = vPrime[x];
+ std::tstring index = vPrime[x];
CComObjPtr<IMgaFolder> indexFolder = (*v)[x];
int y = x;
@@ -1537,12 +1537,12 @@
//small speed up, build a vector of strings first, then sort the strings
//while doing the sort operations on the original vector, so we don't have
//to call the get_ID function each time we look at an FCO
- std::vector<std::string> vPrime;
+ std::vector<std::tstring> vPrime;
for (int i=0; i<n; i++)
{
CComBSTR bstr;
COMTHROW((*v)[i]->get_ID(&bstr));
- std::string s;
+ std::tstring s;
CopyTo(bstr,s);
vPrime.push_back(s);
}
@@ -1550,7 +1550,7 @@
//in place insertion sort
for (int x=1; x<n; x++)
{
- std::string index = vPrime[x];
+ std::tstring index = vPrime[x];
CComObjPtr<IMgaFCO> indexFCO = (*v)[x];
int y = x;
@@ -1727,23 +1727,23 @@
if ( false) // clipboard format
{
- ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
- ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
- ofs << "\t<!ATTLIST clipboard\n";
- ofs << "\t\tclosureversion CDATA #IMPLIED\n";
- ofs << "\t\tacceptingkind CDATA #IMPLIED\n";
- ofs << "\t\tparadigmnamehint CDATA #IMPLIED\n"; // just for compatibility with raw copied data
- ofs << "\t>\n";
- ofs << "]>\n\n";
+ ofs << L"<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
+ ofs << L"\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
+ ofs << L"\t<!ATTLIST clipboard\n";
+ ofs << L"\t\tclosureversion CDATA #IMPLIED\n";
+ ofs << L"\t\tacceptingkind CDATA #IMPLIED\n";
+ ofs << L"\t\tparadigmnamehint CDATA #IMPLIED\n"; // just for compatibility with raw copied data
+ ofs << L"\t>\n";
+ ofs << L"]>\n\n";
- StartElem("clipboard");
- Attr("closureversion", "1");
+ StartElem(_T("clipboard"));
+ Attr(_T("closureversion"), _T("1"));
Dump( project);
EndElem();
}
else
{
- ofs << "<!DOCTYPE project SYSTEM \"mgaclosure.dtd\">\n\n";
+ ofs << L"<!DOCTYPE project SYSTEM \"mgaclosure.dtd\">\n\n";
Dump( project);
}
@@ -1767,11 +1767,11 @@
m_dumpLibraryStubs = (dump_options & 0x1) == 0x1; // dump library stubs ( absolute path used as closurelibreferred, closurelibderivedfrom, closurelibtarget attribute)
m_v2 = (dump_options & 0x2) == 0x2; // dump the closure2members, closure2refs like attributes
- std::string version_string;
+ std::tstring version_string;
if( dump_options & 0x4)
- version_string = "4";
+ version_string = _T("4");
else
- version_string = "1";
+ version_string = _T("1");
//CopyTo( abspath, m_currParAbsPath);
@@ -1815,18 +1815,18 @@
putInTerritory( m_selFolders);
putInTerritory( parentless_folders);
- ofs << "<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
- ofs << "\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
- ofs << "\t<!ATTLIST clipboard\n";
- ofs << "\t\tclosureversion CDATA #IMPLIED\n";
- ofs << "\t\tacceptingkind CDATA #IMPLIED\n";
- ofs << "\t\tparadigmnamehint CDATA #IMPLIED\n"; // just for compatibility with raw copied data
- ofs << "\t>\n";
- ofs << "]>\n\n";
-
- StartElem("clipboard");
- Attr("closureversion", version_string);
- Attr("acceptingkind", CComBstrObj( acceptingkinds));
+ ofs << L"<!DOCTYPE clipboard SYSTEM \"mgaclosure.dtd\" [\n";
+ ofs << L"\t<!ELEMENT clipboard (folder|model|atom|reference|set|connection|regnode)*>\n";
+ ofs << L"\t<!ATTLIST clipboard\n";
+ ofs << L"\t\tclosureversion CDATA #IMPLIED\n";
+ ofs << L"\t\tacceptingkind CDATA #IMPLIED\n";
+ ofs << L"\t\tparadigmnamehint CDATA #IMPLIED\n"; // just for compatibility with raw copied data
+ ofs << L"\t>\n";
+ ofs << L"]>\n\n";
+
+ StartElem(_T("clipboard"));
+ Attr(_T("closureversion"), version_string);
+ Attr(_T("acceptingkind"), CComBstrObj( acceptingkinds));
for( CComObjPtrVector<IMgaFolder>::iterator j = parentless_folders.begin(); j != parentless_folders.end(); ++j )
{
@@ -1879,14 +1879,14 @@
void CMgaDumper::DumpConnDetails( CComObjPtr<IMgaConnection> connection)
{
- const char * role_attr [] = { "smart0Role=" , "smart1Role=" };
- const char * targetGUID_attr [] = { "smart0TargetGUID=" , "smart1TargetGUID=" };
- const char * target_attr [] = { "smart0Target=" , "smart1Target=" };
- const char * refchainGUID_attr[]= { "smart0RefChainGUID=" , "smart1RefChainGUID=" };
- const char * refchain_attr [] = { "smart0RefChain=" , "smart1RefChain=" };
- const char * isbound_attr [] = { "smart0IsBound=" , "smart1IsBound=" };
+ const TCHAR * role_attr [] = { _T("smart0Role=") , _T("smart1Role=") };
+ const TCHAR * targetGUID_attr [] = { _T("smart0TargetGUID=") , _T("smart1TargetGUID=") };
+ const TCHAR * target_attr [] = { _T("smart0Target=") , _T("smart1Target=") };
+ const TCHAR * refchainGUID_attr[]= { _T("smart0RefChainGUID=") , _T("smart1RefChainGUID=") };
+ const TCHAR * refchain_attr [] = { _T("smart0RefChain=") , _T("smart1RefChain=") };
+ const TCHAR * isbound_attr [] = { _T("smart0IsBound=") , _T("smart1IsBound=") };
- std::string array[2]; // { source_info, destin_info };
+ std::tstring array[2]; // { source_info, destin_info };
CComObjPtrVector<IMgaConnPoint> cps;
COMTHROW( connection->get_ConnPoints( PutOut( cps)));
@@ -1894,13 +1894,13 @@
{
for( unsigned int i = 0; i < cps.size(); ++i)
{
- CComBSTR role_bstr;std::string role_str;
+ CComBSTR role_bstr;std::tstring role_str;
COMTHROW( cps[i]->get_ConnRole( &role_bstr));
int w = 0; // which?
- if( role_bstr == CComBSTR("dst")) w = 1; // otherwise will fill arr[0]
+ if( role_bstr == CComBSTR(L"dst")) w = 1; // otherwise will fill arr[0]
CopyTo( role_bstr, role_str);
- array[w] += std::string( role_attr[w]) + "\"" + role_str + "\" ";
+ array[w] += std::tstring( role_attr[w]) + _T("\"") + role_str + _T("\" ");
CComObjPtr<IMgaFCO> target;
COMTHROW( cps[i]->get_Target(PutOut(target)) );
@@ -1912,8 +1912,8 @@
COMTHROW( target->get_RegistryValue( CComBSTR(GLOBAL_ID_STR), &guid));
if( guid != 0 && guid.Length() == GLOBAL_ID_LEN) // valid
{
- std::string guid_str; CopyTo( guid, guid_str);
- array[w] += std::string( targetGUID_attr[w]) + "\"" + guid_str + "\" ";
+ std::tstring guid_str; CopyTo( guid, guid_str);
+ array[w] += std::tstring( targetGUID_attr[w]) + _T("\"") + guid_str + _T("\" ");
}
CComBSTR nameBstr;
@@ -1921,41 +1921,41 @@
CopyTo( nameBstr, m_currAbsPath); // will be used by the DumpConnPoint also
nameBstr.Empty();
- std::string t_name;
+ std::tstring t_name;
COMTHROW( target->get_AbsPath( &nameBstr));
CopyTo( nameBstr, t_name);
//Attr("closure2target", makeRel( t_name, m_currAbsPath));
- std::string relpath_to_end = makeRel( t_name, m_currAbsPath);
- ASSERT( relpath_to_end.substr(0, 4) == "/@..");
+ std::tstring relpath_to_end = makeRel( t_name, m_currAbsPath);
+ ASSERT( relpath_to_end.substr(0, 4) == _T("/@.."));
// the path to connection end is calculated relative to the connection
// so if we cut off the first node, then it will be relative to the container
- array[w] += std::string( target_attr[w]) + "\"" + relpath_to_end.substr(4) + "\" ";
+ array[w] += std::tstring( target_attr[w]) + _T("\"") + relpath_to_end.substr(4) + _T("\" ");
CComObjPtrVector<IMgaFCO> refs;
COMTHROW( cps[i]->get_References(PutOut(refs)) );
- std::string guidrefs = DumpGUIDRefs( refs);
- if( !guidrefs.empty()) array[w] += std::string( refchainGUID_attr[w]) + "\"" + guidrefs + "\" ";
+ std::tstring guidrefs = DumpGUIDRefs( refs);
+ if( !guidrefs.empty()) array[w] += std::tstring( refchainGUID_attr[w]) + _T("\"") + guidrefs + _T("\" ");
- std::string chain;
+ std::tstring chain;
for( CComObjPtrVector<IMgaFCO>::iterator j = refs.begin(); j != refs.end(); ++j)
{
CComBSTR name;
COMTHROW( (*j)->get_AbsPath( &name));
- std::string nm;
+ std::tstring nm;
CopyTo( name, nm);
if( !chain.empty() )
chain += ' ';
- std::string rel_path_to = makeRel( nm, m_currAbsPath);
- ASSERT( rel_path_to.substr( 0, 4) == "/@..");
+ std::tstring rel_path_to = makeRel( nm, m_currAbsPath);
+ ASSERT( rel_path_to.substr( 0, 4) == _T("/@.."));
// rel path converted from relative to the m_currAbsPath to relative to the container
chain += rel_path_to.substr(4);
}
- array[w] += std::string( refchain_attr[w]) + "\"" + chain + "\" ";
+ array[w] += std::tstring( refchain_attr[w]) + _T("\"") + chain + _T("\" ");
CComObjPtr<IMgaFCO> base;
COMTHROW( connection->get_DerivedFrom(PutOut(base)));
@@ -1964,7 +1964,7 @@
COMTHROW( connection->CompareToBase( cps[i], &stat));
if(!stat) {
//Attr("isbound", "yes" );
- array[w] += std::string( isbound_attr[w]) + "\"yes\" ";
+ array[w] += std::tstring( isbound_attr[w]) + _T("\"yes\" ");
}
}
}
Modified: trunk/GME/Parser/MgaDumper.h
==============================================================================
--- trunk/GME/Parser/MgaDumper.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaDumper.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -73,39 +73,40 @@
// ------- Low level stuff
void Indent(int i);
- void StartElem(const char *name);
- void Attr(const char *name, const char *value);
- void Attr(const char *name, const char *value, int len);
- static bool HasMarkup(const char *value, int len);
- void Data(const char *value, int len);
+ void StartElem(const TCHAR *name);
+ void Attr(const TCHAR *name, const TCHAR *value);
+ void Attr(const TCHAR *name, const TCHAR *value, int len);
+ static bool HasMarkup(const TCHAR *value, int len);
+ void Data(const TCHAR *value, int len);
void EndElem();
- void Attr(const char *name, std::string &value)
+ void Attr(const TCHAR *name, std::tstring &value)
{
Attr(name, value.data(), value.length());
}
- void Attr(const char *name, const CComBstrObj &value)
+ void Attr(const TCHAR *name, const CComBstrObj &value)
{
- std::string t;
+ std::tstring t;
CopyTo(value, t);
Attr(name, t);
}
- void Data(std::string &value)
+ void Data(std::tstring &value)
{
Data(value.data(), value.length());
}
void Data(const CComBstrObj &value)
{
- std::string t;
- CopyTo(value, t);
+ std::tstring t;
+ if (value.p != NULL)
+ CopyTo(value, t);
Data(t);
}
template<class INTERFACE, class FUNC_INTERFACE>
- void Attr(const char *name, INTERFACE p, HRESULT (__stdcall FUNC_INTERFACE::*func)(BSTR *))
+ void Attr(const TCHAR *name, INTERFACE p, HRESULT (__stdcall FUNC_INTERFACE::*func)(BSTR *))
{
FUNC_INTERFACE *q = p;
ASSERT( q != NULL );
@@ -117,7 +118,7 @@
}
template<class INTERFACE, class FUNC_INTERFACE>
- void LAttr(const char *name, INTERFACE p, HRESULT (__stdcall FUNC_INTERFACE::*func)(long *))
+ void LAttr(const TCHAR *name, INTERFACE p, HRESULT (__stdcall FUNC_INTERFACE::*func)(long *))
{
FUNC_INTERFACE *q = p;
ASSERT( q != NULL );
@@ -125,8 +126,8 @@
long value;
COMTHROW( (q->*func)(&value) );
- char buf[16] = "0x";
- _ltoa(value,buf+2, 16);
+ TCHAR buf[16] = _T("0x");
+ _ltot(value,buf+2, 16);
Attr(name, buf);
}
@@ -138,7 +139,10 @@
ASSERT( q != NULL );
CComBstrObj value;
- COMTHROW( (q->*func)(PutOut(value)) );
+ COMTHROW( (q->*func)(&value.p) );
+ //ASSERT(value.p);
+ //if (value.p == 0)
+ // DebugBreak();
Data(value);
}
@@ -193,9 +197,9 @@
void DumpFCO(IMgaFCO *fco, bool dump_attrs = true,
bool dump_name = true, bool dump_elems = true);
void DumpConstraints(IMgaObject *object);
- void DumpIDRefs(const char *name, CComObjPtrVector<IMgaFCO> &fcos);
- std::string DumpGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos);
- std::string DumpMixedGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos);
+ void DumpIDRefs(const TCHAR *name, CComObjPtrVector<IMgaFCO> &fcos);
+ std::tstring DumpGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos);
+ std::tstring DumpMixedGUIDRefs( CComObjPtrVector<IMgaFCO>& fcos);
void DumpConnDetails(CComObjPtr<IMgaConnection> connection);
// ------- Sorters
@@ -215,7 +219,7 @@
struct elem
{
- std::string name;
+ std::tstring name;
bool inbody;
bool indata;
};
@@ -249,9 +253,9 @@
void putInTerritory( CComObjPtrVector<IMgaFCO>&);
void putInTerritory( CComObjPtrVector<IMgaFolder>&);
- //std::string m_curTopPath; // used for the 'closurename' calc
- std::string m_currAbsPath;//? it is needed any more?
- //std::string m_currParAbsPath; // used for 'closurepath' calc
+ //std::tstring m_curTopPath; // used for the 'closurename' calc
+ std::tstring m_currAbsPath;//? it is needed any more?
+ //std::tstring m_currParAbsPath; // used for 'closurepath' calc
bool m_v2;
};
Modified: trunk/GME/Parser/MgaParser.cpp
==============================================================================
--- trunk/GME/Parser/MgaParser.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaParser.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -9,7 +9,7 @@
#include "../Common/CommonCollection.h"
#include <list>//slist
-const char * magic_exit_str = "Analysis done.Quit parsing.";
+const TCHAR * magic_exit_str = _T("Analysis done.Quit parsing.");
// --------------------------- CMgaParser
STDMETHODIMP CMgaParser::ParseFCOs(IMgaObject *here, BSTR filename)
@@ -22,7 +22,7 @@
CloseAll();
COMTHROW( progress.CoCreateInstance(L"Mga.MgaProgressDlg") );
- COMTHROW( progress->SetTitle(PutInBstr("Importing XML file...")) );
+ COMTHROW( progress->SetTitle(_bstr_t(L"Importing XML file...")) );
COMTHROW( progress->StartProgressDialog(NULL) );
CComObjPtr<IMgaProject> p;
@@ -75,7 +75,7 @@
ranges.push_front(range_type());
ranges.front().begin = 1;
ranges.front().end = (counter_type)-1;
- ranges.front().previous.name = "start";
+ ranges.front().previous.name = _T("start");
ranges.front().previous.object = target;
skip_element_level = 0;
@@ -153,7 +153,7 @@
CloseAll();
COMTHROW( progress.CoCreateInstance(L"Mga.MgaProgressDlg") );
- COMTHROW( progress->SetTitle(PutInBstr("Importing XML file...")) );
+ COMTHROW( progress->SetTitle(_bstr_t(L"Importing XML file...")) );
COMTHROW( progress->StartProgressDialog(NULL) );
@@ -262,7 +262,7 @@
libstodo.clear();
COMTHROW( project->put_GUID(projectguid) );
- if (projectversion) {
+ if (projectversion != _bstr_t("")) {
COMTHROW( project->put_Version(projectversion) );
}
@@ -305,7 +305,7 @@
{
CloseAll();
COMTHROW( progress.CoCreateInstance(L"Mga.MgaProgressDlg") );
- COMTHROW( progress->SetTitle(PutInBstr("Analyzing XML file...")) );
+ COMTHROW( progress->SetTitle(_bstr_t(L"Analyzing XML file...")) );
COMTHROW( progress->StartProgressDialog(NULL) );
@@ -344,12 +344,11 @@
}
catch(const SAXException &e)
{
- char * p_msg = XMLString::transcode( e.getMessage());
- if( 0 != strcmp( p_msg, magic_exit_str))
+ XmlStr msg = e.getMessage();
+ if (msg != magic_exit_str)
{
- ThrowXmlError( p_msg);
+ ThrowXmlError(msg.c_str());
}
- XMLString::release( &p_msg);
// else just ignore it, we threw an exception for a good purpose:
// to quit the costly parsing operation
}
@@ -413,8 +412,8 @@
// ------- Passes
-char progress_msg[512];
-char refresh_counter;
+TCHAR progress_msg[512];
+TCHAR refresh_counter;
void CMgaParser::startElement(const XMLCh* const name, AttributeList& attributes)
{
@@ -424,7 +423,7 @@
if( ++refresh_counter == 0 )
{
- sprintf(progress_msg, "Phase: %d, number of parsed objects: %ld", pass_count, (long)counter/2);
+ _stprintf_s(progress_msg, _T("Phase: %d, number of parsed objects: %ld"), pass_count, (long)counter/2);
COMTHROW( progress->SetLine(0, PutInBstr(progress_msg)) );
if( pass_count == 1 )
@@ -516,7 +515,7 @@
// ------- Lookup
-void CMgaParser::LookupByID(const std::string &id, CComObjPtr<IMgaObject> &ret)
+void CMgaParser::LookupByID(const std::tstring &id, CComObjPtr<IMgaObject> &ret)
{
ASSERT( project != NULL );
@@ -530,7 +529,7 @@
}
}
-void CMgaParser::LookupByID(const std::string &id, CComObjPtr<IMgaFCO> &ret)
+void CMgaParser::LookupByID(const std::tstring &id, CComObjPtr<IMgaFCO> &ret)
{
ASSERT( project != NULL );
@@ -544,7 +543,7 @@
}
}
-void CMgaParser::RegisterLookup(const std::string &id, IMgaObject *object)
+void CMgaParser::RegisterLookup(const std::tstring &id, IMgaObject *object)
{
ASSERT( object != NULL );
@@ -561,18 +560,18 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( (*i).first == "id" )
+ if( (*i).first == _T("id") )
{
RegisterLookup((*i).second, object);
//break;
}
- else if( m_maintainGuids && (*i).first == "guid")
+ else if( m_maintainGuids && (*i).first == _T("guid"))
{
// when fco was created already got a fresh GUID, but we need to maintain
// the old guid, thus we overwrite the old value with the parsed one
object->PutGuidDisp( CComBSTR( (*i).second.c_str()));
}
- else if( (*i).first == "perm" )
+ else if( (*i).first == _T("perm") )
{
// the plain presence of the attribute indicates 'ro' flag
// no need to parse the value: (*i).second
@@ -585,7 +584,7 @@
readonly_stack.push_back( perm_present); // we insert a value anyway into the stack
}
-void CMgaParser::fireStartFunction(const std::string& namestr, const attributes_type& attributes)
+void CMgaParser::fireStartFunction(const std::tstring& namestr, const attributes_type& attributes)
{
if(funcTableState == MGA)
{
@@ -650,7 +649,7 @@
}
-void CMgaParser::fireEndFunction(const std::string& namestr)
+void CMgaParser::fireEndFunction(const std::tstring& namestr)
{
if(funcTableState == MGA)
{
@@ -719,23 +718,23 @@
CMgaParser::elementfunc CMgaParser::elementfuncs_mga[] =
{
- elementfunc("project", StartProject, EndNone),
- elementfunc("name", StartNone, EndName),
- elementfunc("comment", StartNone, EndComment),
- elementfunc("author", StartNone, EndAuthor),
- elementfunc("value", StartNone, EndValue),
- elementfunc("folder", StartFolder, EndObject),
- elementfunc("model", StartModel, EndObject),
- elementfunc("atom", StartAtom, EndObject),
- elementfunc("regnode", StartRegNode, EndNone),
- elementfunc("attribute", StartAttribute, EndNone),
- elementfunc("connection", StartConnection, EndObject),
- elementfunc("connpoint", StartConnPoint, EndNone),
- elementfunc("constraint", StartNone, EndConstraint),
- elementfunc("reference", StartReference, EndObject),
- elementfunc("set", StartSet, EndObject),
- elementfunc("clipboard", StartClipboard, EndNone),
- elementfunc("", NULL, NULL)
+ elementfunc(_T("project"), StartProject, EndNone),
+ elementfunc(_T("name"), StartNone, EndName),
+ elementfunc(_T("comment"), StartNone, EndComment),
+ elementfunc(_T("author"), StartNone, EndAuthor),
+ elementfunc(_T("value"), StartNone, EndValue),
+ elementfunc(_T("folder"), StartFolder, EndObject),
+ elementfunc(_T("model"), StartModel, EndObject),
+ elementfunc(_T("atom"), StartAtom, EndObject),
+ elementfunc(_T("regnode"), StartRegNode, EndNone),
+ elementfunc(_T("attribute"), StartAttribute, EndNone),
+ elementfunc(_T("connection"), StartConnection, EndObject),
+ elementfunc(_T("connpoint"), StartConnPoint, EndNone),
+ elementfunc(_T("constraint"), StartNone, EndConstraint),
+ elementfunc(_T("reference"), StartReference, EndObject),
+ elementfunc(_T("set"), StartSet, EndObject),
+ elementfunc(_T("clipboard"), StartClipboard, EndNone),
+ elementfunc(_T(""), NULL, NULL)
};
// ------- Element Handlers
@@ -763,25 +762,24 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( i->first == "guid" )
+ if( i->first == _T("guid") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
+ _bstr_t bstr = i->second.c_str();
GUID guid;
CopyTo(bstr, guid);
CopyTo(guid, projectguid);
}
- else if( i->first == "version" )
+ else if( i->first == _T("version") )
{
CComBSTR currversion;
COMTHROW( project->get_Version(&currversion) );
if (currversion.Length() == 0) {
- CopyTo(i->second, &projectversion);
+ projectversion = i->second.c_str();
}
}
- else if( i->first == "metaname")
+ else if( i->first == _T("metaname"))
{
// if host paradigm != imported project's paradigm
if( host_pn != CComBSTR( i->second.c_str()))
@@ -800,7 +798,7 @@
void CMgaParser::StartClipboard(const attributes_type &attributes)
{
ASSERT( project != NULL );
- ASSERT( GetPrevName() == "start" );
+ ASSERT( GetPrevName() == _T("start") );
ASSERT( GetPrevious().object != NULL );
if( !GetPrevious().object) HR_THROW(E_XMLPARSER);//by ZolMol
@@ -824,15 +822,15 @@
CComObjPtr<IMgaFolder> folder;
if( SUCCEEDED(obj.QueryInterface(model)) )
- GetCurrent().name = "model";
+ GetCurrent().name = _T("model");
else if( SUCCEEDED(obj.QueryInterface(folder)) )
- GetCurrent().name = "folder";
+ GetCurrent().name = _T("folder");
// Commented, thus allowing clipboard snippets to be
// dropped onto atoms/sets/references/connections too
//else
// HR_THROW(E_INVALID_FILENAME);
- const std::string *parname_hint = GetByNameX(attributes, "paradigmnamehint");
+ const std::tstring *parname_hint = GetByNameX(attributes, _T("paradigmnamehint"));
// importing from different paradigm
if( parname_hint != NULL && host_pn != CComBSTR( parname_hint->c_str()))
{
@@ -845,11 +843,11 @@
void CMgaParser::EndName()
{
- if( GetPrevName() == "project" )
+ if( GetPrevName() == _T("project") )
{
- COMTHROW( project->put_Name(PutInBstr(GetCurrData())) );
+ COMTHROW( project->put_Name(PutInBstr(GetCurrData())) );
}
- else if( GetPrevName() == "constraint" )
+ else if( GetPrevName() == _T("constraint") )
{
constraint_name = GetCurrData();
}
@@ -863,7 +861,7 @@
void CMgaParser::EndComment()
{
- if( GetPrevName() == "project" )
+ if( GetPrevName() == _T("project") )
{
COMTHROW( project->put_Comment(PutInBstr(GetCurrData())) );
}
@@ -873,9 +871,9 @@
void CMgaParser::EndAuthor()
{
- if( GetPrevName() == "project" )
+ if( GetPrevName() == _T("project") )
{
- COMTHROW( project->put_Author(PutInBstr(GetCurrData())) );
+ COMTHROW( project->put_Author(PutInBstr(GetCurrData())) );
}
else
HR_THROW(E_INVALID_DTD);
@@ -887,11 +885,11 @@
if( GetPrevious().object == NULL )
return;
- if( GetPrevName() == "constraint" )
+ if( GetPrevName() == _T("constraint") )
{
constraint_value = GetCurrData();
}
- else if( GetPrevName() == "regnode" )
+ else if( GetPrevName() == _T("regnode") )
{
CComObjPtr<IMgaRegNode> regnode;
GetPrevObj(regnode);
@@ -904,7 +902,7 @@
if( status == 0 )
COMTHROW( regnode->put_Value(PutInBstr(GetCurrData())) );
}
- else if( GetPrevName() == "attribute" )
+ else if( GetPrevName() == _T("attribute") )
{
CComObjPtr<IMgaAttribute> attr;
GetPrevObj(attr);
@@ -930,16 +928,16 @@
case ATTVAL_STRING:
case ATTVAL_ENUM:
case ATTVAL_DYNAMIC:
- CopyTo(GetCurrData(), v);
+ v = GetCurrData().c_str();
break;
case ATTVAL_INTEGER:
- CopyTo(GetCurrData(), v);
+ v = GetCurrData().c_str();
COMTHROW( v.ChangeType(VT_I4) );
break;
case ATTVAL_DOUBLE:
- CopyTo(GetCurrData(), v);
+ v = GetCurrData().c_str();
COMTHROW( v.ChangeType(VT_R8) );
break;
@@ -974,10 +972,10 @@
void CMgaParser::preparerelid(const attributes_type &attributes) {
- const std::string & relidattr = GetByName(attributes, "relid");
+ const std::tstring & relidattr = GetByName(attributes, _T("relid"));
ASSERT(relid == -2);
if(relidattr.size()) {
- relid = strtol(relidattr.c_str(),NULL, 0);
+ relid = _tcstol(relidattr.c_str(), NULL, 0);
if(!manual_relid_mode) {
COMTHROW(project->put_Preferences(project_prefs | MGAPREF_MANUAL_RELIDS));
}
@@ -1006,7 +1004,7 @@
{
CComObjPtr<IMgaFolder> folder;
- if( GetPrevName() == "project" )
+ if( GetPrevName() == _T("project") )
{
COMTHROW( project->get_RootFolder(PutOut(folder)) );
}
@@ -1016,8 +1014,8 @@
GetPrevObj(prev);
CComObjPtr<IMgaMetaFolder> meta;
- CComBSTR fname( PutInBstrAttr(attributes, "kind"));
- const std::string &libn = GetByName(attributes,"libref");
+ _bstr_t fname(PutInBstrAttr(attributes, _T("kind")));
+ const std::tstring &libn = GetByName(attributes, _T("libref"));
preparerelid(attributes);
@@ -1059,7 +1057,7 @@
ASSERT( folder != NULL );
GetCurrent().object = folder;
- long crid = toLong(GetByName(attributes,"childrelidcntr"));
+ long crid = toLong(GetByName(attributes,_T("childrelidcntr")));
GetCurrent().exnuminfo = crid;
COMTHROW(folder->put_ChildRelIDCounter(crid));
@@ -1069,7 +1067,7 @@
void CMgaParser::ResolveDerivation(const attributes_type &attributes, deriv_type &deriv)
{
- const std::string *s = GetByNameX(attributes, "derivedfrom");
+ const std::tstring *s = GetByNameX(attributes, _T("derivedfrom"));
if( s == NULL )
{
deriv.from.Release();
@@ -1080,11 +1078,11 @@
if( deriv.from == NULL )
throw pass_exception();
- s = GetByNameX(attributes, "isinstance");
- deriv.isinstance = ( s != NULL && *s == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE;
+ s = GetByNameX(attributes, _T("isinstance"));
+ deriv.isinstance = ( s != NULL && *s == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE;
- s = GetByNameX(attributes, "isprimary");
- deriv.isprimary = ( s != NULL && *s == "no" ) ? false : true;
+ s = GetByNameX(attributes, _T("isprimary"));
+ deriv.isprimary = ( s != NULL && *s == _T("no") ) ? false : true;
}
void CMgaParser::StartModel(const attributes_type &attributes)
@@ -1096,7 +1094,7 @@
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1109,7 +1107,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_MODEL, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -1119,15 +1117,15 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_MODEL,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_MODEL,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1156,7 +1154,7 @@
ASSERT( model != NULL );
GetCurrent().object = model;
- long crid = toLong(GetByName(attributes,"childrelidcntr"));
+ long crid = toLong(GetByName(attributes,_T("childrelidcntr")));
GetCurrent().exnuminfo = crid;
COMTHROW(CComQIPtr<IMgaModel>(model)->put_ChildRelIDCounter(crid));
@@ -1173,7 +1171,7 @@
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1185,7 +1183,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_ATOM, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -1196,15 +1194,15 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_ATOM,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_ATOM,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1242,24 +1240,23 @@
{
CComObjPtr<IMgaRegNode> regnode;
- CComBstrObj name;
- CopyTo(GetByName(attributes, "name"), name);
+ _bstr_t name = GetByName(attributes, _T("name")).c_str();
- if( GetPrevName() == "regnode" )
+ if( GetPrevName() == _T("regnode") )
{
CComObjPtr<IMgaRegNode> prev;
GetPrevObj(prev);
COMTHROW( prev->get_SubNodeByName(name, PutOut(regnode)) );
}
- else if( GetPrevName() == "folder" )
+ else if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
COMTHROW( prev->get_RegistryNode(name, PutOut(regnode)) );
}
- else if( GetPrevName()== "attribute" )
+ else if( GetPrevName()== _T("attribute") )
{
CComObjPtr<IMgaAttribute> prev;
GetPrevObj(prev);
@@ -1275,10 +1272,10 @@
}
ASSERT( regnode != NULL );
- if( GetByNameX(attributes, "status") == NULL )
+ if( GetByNameX(attributes, _T("status")) == NULL )
COMTHROW( regnode->put_Value(NULL) );
- if( GetByName(attributes, "isopaque") == "yes" )
+ if( GetByName(attributes, _T("isopaque")) == _T("yes") )
COMTHROW( regnode->put_Opacity(VARIANT_TRUE) );
GetCurrent().object = regnode;
@@ -1292,7 +1289,7 @@
GetPrevObj(fco);
CComObjPtr<IMgaMetaAttribute> metaattr;
- HRESULT hr = resolver->get_AttrByStr(fco, PutInBstrAttr(attributes, "kind"), PutOut(metaattr));
+ HRESULT hr = resolver->get_AttrByStr(fco, PutInBstrAttr(attributes, _T("kind")), PutOut(metaattr));
if( FAILED(hr) || metaattr == NULL )
{
@@ -1305,9 +1302,9 @@
ASSERT( attr != NULL );
GetCurrent().object = attr;
- if( GetByNameX(attributes, "status") == NULL )
+ if( GetByNameX(attributes, _T("status")) == NULL )
{
- // we set some value, and from the "value" element we set the actual value
+ // we set some value, and from the _T("value") element we set the actual value
CComVariant v;
COMTHROW( attr->get_Value(PutOut(v)) );
@@ -1323,7 +1320,7 @@
//ResolveDerivation(attributes, deriv);
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1336,7 +1333,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_CONNECTION, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -1346,14 +1343,14 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_CONNECTION,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_CONNECTION,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1382,7 +1379,7 @@
ASSERT( conn != NULL );
GetCurrent().object = conn;
- if( GetByName(attributes, "isbound") == "yes" ) GetCurrent().exstrinfo = "skip";
+ if( GetByName(attributes, _T("isbound")) == _T("yes") ) GetCurrent().exstrinfo = _T("skip");
//RegisterReadOnlyStatus( attributes);
RegisterLookup(attributes, conn);
@@ -1390,14 +1387,14 @@
void CMgaParser::StartConnPoint(const attributes_type &attributes)
{
- ASSERT( GetPrevName() == "connection" );
+ ASSERT( GetPrevName() == _T("connection") );
CComObjPtr<IMgaConnection> conn;
GetPrevObj(conn);
- if( GetPrevious().exstrinfo == "skip" || GetByName(attributes, "isbound") == "yes" ) return;
+ if( GetPrevious().exstrinfo == _T("skip") || GetByName(attributes, _T("isbound")) == _T("yes") ) return;
CComObjPtr<IMgaFCO> target;
- LookupByID(GetByName(attributes, "target"), target);
+ LookupByID(GetByName(attributes, _T("target")), target);
if( target == NULL )
throw pass_exception();
@@ -1405,7 +1402,7 @@
CComObjPtr<IMgaFCOs> coll;
COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
- const std::string *s = GetByNameX(attributes, "refs");
+ const std::tstring *s = GetByNameX(attributes, _T("refs"));
if( s != NULL )
{
int pos = s->find_first_not_of(' ', 0);
@@ -1418,7 +1415,7 @@
ASSERT( pos2 > pos );
CComObjPtr<IMgaFCO> ref;
- LookupByID(std::string(*s, pos, pos2-pos), ref);
+ LookupByID(std::tstring(*s, pos, pos2-pos), ref);
if( ref == NULL )
throw pass_exception();
@@ -1431,9 +1428,8 @@
CComObjPtr<IMgaConnPoint> connpoint;
- const std::string& role = GetByName(attributes, "role");
- CComBSTR brole;
- CopyTo( role, &brole);
+ const std::tstring& role = GetByName(attributes, _T("role"));
+ _bstr_t brole = role.c_str();
// Since the Refresh operation created some derived connections
// in its own way, some derived connections might have been
@@ -1453,14 +1449,14 @@
{
CComBSTR old_role;
COMTHROW( old_cp->get_ConnRole( &old_role));
- if( old_role == brole) // check if targets are equal
+ if( old_role == static_cast<LPCOLESTR>(brole)) // check if targets are equal
{
CComPtr<IMgaFCO> old_tgt;
COMTHROW( old_cp->get_Target( &old_tgt));
if( old_tgt == target)
{
// same role not inserted twice
- CComBSTR msg( "Warning: Superfluous connection role ignored!");
+ CComBSTR msg( L"Warning: Superfluous connection role ignored!");
if( m_GME) COMTHROW( m_GME->ConsoleMessage( msg, MSG_WARNING));
return;
}
@@ -1468,7 +1464,7 @@
}
}
- COMTHROW( conn->AddConnPoint(PutInBstr(GetByName(attributes, "role")), 0, // FIXME: multiplicity
+ COMTHROW( conn->AddConnPoint(PutInBstr(GetByName(attributes, _T("role"))), 0, // FIXME: multiplicity
target, coll, PutOut(connpoint)) );
}
@@ -1476,7 +1472,7 @@
{
CComObjPtr<IMgaConstraint> constraint;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> folder;
GetPrevObj(folder);
@@ -1504,7 +1500,7 @@
CComObjPtr<IMgaFCO> referred;
- const std::string *s = GetByNameX(attributes, "referred");
+ const std::tstring *s = GetByNameX(attributes, _T("referred"));
if( s != NULL )
{
LookupByID(*s, referred);
@@ -1513,7 +1509,7 @@
throw pass_exception();
}
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1526,7 +1522,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_REFERENCE, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -1536,14 +1532,14 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_REFERENCE,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_REFERENCE,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1571,7 +1567,7 @@
}
ASSERT( fco != NULL );
- if( !(GetByName(attributes, "isbound") == "yes") && referred != NULL )
+ if( !(GetByName(attributes, _T("isbound")) == _T("yes")) && referred != NULL )
{
CComObjPtr<IMgaReference> ref;
COMTHROW( fco.QueryInterface(ref) );
@@ -1595,7 +1591,7 @@
std::list< CComObjPtr<IMgaFCO> > members;//slist
- const std::string *s = GetByNameX(attributes, "members");
+ const std::tstring *s = GetByNameX(attributes, _T("members"));
if( s != NULL )
{
int pos = s->find_first_not_of(' ', 0);
@@ -1608,7 +1604,7 @@
ASSERT( pos2 > pos );
CComObjPtr<IMgaFCO> member;
- LookupByID(std::string(*s, pos, pos2-pos), member);
+ LookupByID(std::tstring(*s, pos, pos2-pos), member);
if( member == NULL )
throw pass_exception();
@@ -1619,7 +1615,7 @@
}
}
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1632,7 +1628,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_SET, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -1642,14 +1638,14 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_SET,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_SET,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1682,7 +1678,7 @@
CComObjPtr<IMgaSet> mgaset;
COMTHROW( fco.QueryInterface(mgaset) );
- if( !(GetByName(attributes, "isbound") == "yes") ) {
+ if( !(GetByName(attributes, _T("isbound")) == _T("yes")) ) {
COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
std::list< CComObjPtr<IMgaFCO> >::iterator i = members.begin();//slist
while( i != members.end() )
@@ -1701,9 +1697,9 @@
CMgaParser::elementfunc CMgaParser::elementfuncs_mgainfo[] =
{
- elementfunc("project", StartProjectInfo, EndNone),
- elementfunc("name", StartNone, EndNameInfo),
- elementfunc("", NULL, NULL)
+ elementfunc(_T("project"), StartProjectInfo, EndNone),
+ elementfunc(_T("name"), StartNone, EndNameInfo),
+ elementfunc(_T(""), NULL, NULL)
};
@@ -1714,10 +1710,9 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( i->first == "metaguid" )
+ if( i->first == _T("metaguid") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
+ _bstr_t bstr = i->second.c_str();
GUID guid;
CopyTo(bstr, guid);
@@ -1729,31 +1724,19 @@
}
- if( i->first == "metaname" )
+ if( i->first == _T("metaname") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
-
- *infoparname = bstr.Detach();
-
+ *infoparname = _bstr_t(i->second.c_str()).Detach();
}
- if( i->first == "metaversion" )
+ if( i->first == _T("metaversion") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
-
- *infoparversion = bstr.Detach();
-
+ *infoparversion = _bstr_t(i->second.c_str()).Detach();
}
- if( i->first == "version" )
+ if( i->first == _T("version") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
-
- *infoversion = bstr.Detach();
-
+ *infoversion = _bstr_t(i->second.c_str()).Detach();
}
@@ -1763,10 +1746,9 @@
void CMgaParser::EndNameInfo()
{
- if( GetPrevName() == "project" )
+ if( GetPrevName() == _T("project") )
{
- CComBstrObj nn = PutInBstr(GetCurrData());
- *infoprojname = nn.Detach();
+ *infoprojname = _bstr_t(GetCurrData().c_str()).Detach();
// analysis done, why waste time by processing further the xme file?
throw SAXException( magic_exit_str); // trick used & handled only by GetXMLInfo()
}
@@ -1774,8 +1756,8 @@
CMgaParser::elementfunc CMgaParser::elementfuncs_clipmgainfo[] =
{
- elementfunc("clipboard", StartClipboardInfo, EndNone),
- elementfunc("", NULL, NULL)
+ elementfunc(_T("clipboard"), StartClipboardInfo, EndNone),
+ elementfunc(_T(""), NULL, NULL)
};
void CMgaParser::StartClipboardInfo(const attributes_type &attributes)
@@ -1787,26 +1769,22 @@
attributes_iterator e = attributes.end();
while( i != e )
{
- if( i->first == "closureversion" )
+ if( i->first == _T("closureversion") )
{
+ // if the value is _T("") then the bstr will be null, so bool introduced to correctly check the presence of "closureversion" token
closure_version_found = true;
- CComBstrObj bstr;
- CopyTo(i->second, bstr); // if the value is "" then the bstr will be null, so bool introduced to correctly check the presence of "closureversion" token
- *closversion = bstr.Detach();
+ *closversion = _bstr_t(i->second.c_str()).Detach();
}
- else if( i->first == "acceptingkind" )
+ else if( i->first == _T("acceptingkind") )
{
- CComBstrObj bstr;
- CopyTo(i->second, bstr);
-
- *closacckind = bstr.Detach();
+ *closacckind = _bstr_t(i->second.c_str()).Detach();
}
++i;
}
if( !closure_version_found && *closversion == 0) // not found such token
{
- CComBSTR bstr("0");
+ CComBSTR bstr(L"0");
*closversion = bstr.Detach();
}
}
@@ -1817,7 +1795,7 @@
{
CloseAll();
COMTHROW( progress.CoCreateInstance(L"Mga.MgaProgressDlg") );
- COMTHROW( progress->SetTitle(PutInBstr("Analyzing clipboard data...")) );
+ COMTHROW( progress->SetTitle(_bstr_t(L"Analyzing clipboard data...")) );
COMTHROW( progress->StartProgressDialog(NULL) );
Modified: trunk/GME/Parser/MgaParser.h
==============================================================================
--- trunk/GME/Parser/MgaParser.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaParser.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -63,7 +63,7 @@
STDMETHOD(ParseClos4)(IMgaObject *p, BSTR filename, int options); // smart
STDMETHOD(ParseProject)(IMgaProject *p, BSTR filename);
- std::string GetClipXMLInfo2();
+ std::tstring GetClipXMLInfo2();
void CloseAll();
@@ -72,8 +72,8 @@
public:
virtual void startElement(const XMLCh* const name, AttributeList& attributes);
virtual void endElement(const XMLCh* const name);
- void fireStartFunction(const std::string& name, const attributes_type& attributes);
- void fireEndFunction(const std::string& name);
+ void fireStartFunction(const std::tstring& name, const attributes_type& attributes);
+ void fireEndFunction(const std::tstring& name);
struct range_type
{
@@ -91,14 +91,14 @@
};
typedef struct librecord {
- std::string libname;
+ std::tstring libname;
CComPtr<IMgaFolder> f;
} librecord;
typedef std::vector<librecord> librecords;
librecords libstodo;
CComVariant projectguid;
- CComBSTR projectversion;
+ _bstr_t projectversion;
// ------- Logging
@@ -135,8 +135,8 @@
long project_prefs, project_prefs_orig;
- std::string constraint_name;
- std::string constraint_value;
+ std::tstring constraint_name;
+ std::tstring constraint_value;
counter_type max_counter;
int pass_count;
@@ -144,15 +144,15 @@
// ------- Lookup
public:
- void LookupByID(const std::string &id, CComObjPtr<IMgaObject> &object);
- void LookupByID(const std::string &id, CComObjPtr<IMgaFCO> &fco);
- void RegisterLookup(const std::string &id, IMgaObject *object);
+ void LookupByID(const std::tstring &id, CComObjPtr<IMgaObject> &object);
+ void LookupByID(const std::tstring &id, CComObjPtr<IMgaFCO> &fco);
+ void RegisterLookup(const std::tstring &id, IMgaObject *object);
void RegisterLookup(const attributes_type &attributes, IMgaObject *object);
//void RegisterReadOnlyStatus( const attributes_type &attributes);
bool GetIntendedReadOnlyFlag( bool *p_isReadOnly);
- typedef stdext::hash_map<std::string, CComBstrObj> id_lookup_type;
+ typedef stdext::hash_map<std::tstring, CComBstrObj> id_lookup_type;
typedef id_lookup_type::iterator id_lookup_iterator;
id_lookup_type id_lookup;
@@ -181,26 +181,26 @@
bool findPlaceForElem( const attributes_type &attributes, deriv_type& deriv, CComObjPtr<IMgaFolder>& place_fld, CComObjPtr<IMgaModel>& place_mdl);
bool parseConnection( CComObjPtr<IMgaObject> prev, const attributes_type &attributes, CComObjPtr<IMgaFCO>& pFoundSrcObj, CComObjPtr<IMgaFCO>& pFoundDstObj, CComObjPtr<IMgaFCOs>& pFoundSrcRefChain, CComObjPtr<IMgaFCOs>& pFoundDstRefChain);
- bool findConnectionEnd( CComObjPtr<IMgaObject> prev, const std::string& isbound, const std::string& role, const std::string& targetGUID, const std::string& target, const std::string& refchainGUID, const std::string& refchain, CComObjPtr<IMgaFCO>& pFoundObj, CComObjPtr<IMgaFCOs>& pFoundRefChain);
+ bool findConnectionEnd( CComObjPtr<IMgaObject> prev, const std::tstring& isbound, const std::tstring& role, const std::tstring& targetGUID, const std::tstring& target, const std::tstring& refchainGUID, const std::tstring& refchain, CComObjPtr<IMgaFCO>& pFoundObj, CComObjPtr<IMgaFCOs>& pFoundRefChain);
bool findObject( const CComObjPtr<IMgaModel>& prev, const attributes_type& attributes, CComObjPtr<IMgaFCO>& obj, const char type);
bool findObject( const CComObjPtr<IMgaFolder>& prev, const attributes_type& attributes, CComObjPtr<IMgaFCO>& obj, const char type);
bool findObjectIn( const CComObjPtr<IMgaObject>& parent, const CComObjPtrVector<IMgaFCO>& vec, const attributes_type& attributes, CComObjPtr<IMgaFCO>& obj, const char type);
bool findFolderIn( const CComObjPtr<IMgaFolder>& prev, const attributes_type& attributes, CComObjPtr<IMgaFolder>& fol);
- void findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const std::string& relpath , CComObjPtr<IMgaObject>& obj, const std::string& text = "");
- void findObjOnAbsPath( CComObjPtr<IMgaProject> project, const std::string& abspath , CComObjPtr<IMgaObject>& obj, const std::string& text = "");
- void findFCOWithRelPathAndGUID( CComObjPtr<IMgaObject> obj_rel_to, const std::string& relpath, const std::string& guid, CComObjPtr<IMgaFCO>& pFoundFco);
- void findFCOWithGUIDInTree( CComObjPtr<IMgaObject> pParent, const std::string& guid, CComObjPtr<IMgaFCO>& pFoundFCO);
- void findFCOWithGUID( CComObjPtr<IMgaObject> prev, const std::string& guid, CComObjPtr<IMgaFCO>& pFoundFCO);
- void stepUpInHierarchy( CComObjPtr<IMgaObject>& pCurrentObj, const std::string& originalPath, CComObjPtr<IMgaObject>& pNewParent, std::string& remainingPath);
+ void findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const std::tstring& relpath , CComObjPtr<IMgaObject>& obj, const std::tstring& text);
+ void findObjOnAbsPath( CComObjPtr<IMgaProject> project, const std::tstring& abspath , CComObjPtr<IMgaObject>& obj, const std::tstring& text);
+ void findFCOWithRelPathAndGUID( CComObjPtr<IMgaObject> obj_rel_to, const std::tstring& relpath, const std::tstring& guid, CComObjPtr<IMgaFCO>& pFoundFco);
+ void findFCOWithGUIDInTree( CComObjPtr<IMgaObject> pParent, const std::tstring& guid, CComObjPtr<IMgaFCO>& pFoundFCO);
+ void findFCOWithGUID( CComObjPtr<IMgaObject> prev, const std::tstring& guid, CComObjPtr<IMgaFCO>& pFoundFCO);
+ void stepUpInHierarchy( CComObjPtr<IMgaObject>& pCurrentObj, const std::tstring& originalPath, CComObjPtr<IMgaObject>& pNewParent, std::tstring& remainingPath);
static bool isNullRef( CComObjPtr<IMgaFCO>& ref);
static bool isEmptySet( CComObjPtr<IMgaFCO>& set);
bool isNeedFor2ndStep();
void tryToFindMissedReferreds();
void tryToFindMissedSetMembers();
- std::map< CComObjPtr<IMgaFCO>, std::string, CompareCComObj > m_notFoundReferredObject;
- std::map< CComObjPtr<IMgaFCO>, std::vector< std::string >, CompareCComObj > m_notFoundSetMembers;
- std::string m_clVerStr;
+ std::map< CComObjPtr<IMgaFCO>, std::tstring, CompareCComObj > m_notFoundReferredObject;
+ std::map< CComObjPtr<IMgaFCO>, std::vector< std::tstring >, CompareCComObj > m_notFoundSetMembers;
+ std::tstring m_clVerStr;
bool manual_relid_mode;
long relid;
Modified: trunk/GME/Parser/MgaParserBC.cpp
==============================================================================
--- trunk/GME/Parser/MgaParserBC.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaParserBC.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -21,7 +21,7 @@
CloseAll();
COMTHROW( progress.CoCreateInstance(L"Mga.MgaProgressDlg") );
- COMTHROW( progress->SetTitle(PutInBstr("Importing CopyClosured XML data...")) );
+ COMTHROW( progress->SetTitle(_bstr_t(L"Importing CopyClosured XML data...")) );
COMTHROW( progress->StartProgressDialog(NULL) );
CComObjPtr<IMgaProject> p;
@@ -45,18 +45,18 @@
m_target = target;
m_resolveDerFuncPtr = &CMgaParser::ResolveClosure1Derivation;
//m_clVer = 1;
- m_clVerStr = "1";//end
+ m_clVerStr = _T("1");//end
if( m_target && m_GME)
{
CComBSTR bstr, id, nm;
COMTHROW( m_target->get_ID( &id));
COMTHROW( m_target->get_Name( &nm));
- bstr.Append("[Closure Parser] Inserting copy closured data into: <A HREF=\"mga:");
+ bstr.Append(L"[Closure Parser] Inserting copy closured data into: <A HREF=\"mga:");
bstr.AppendBSTR( id);
- bstr.Append("\">");
+ bstr.Append(L"\">");
bstr.AppendBSTR( nm);
- bstr.Append("</A>");
+ bstr.Append(L"</A>");
COMTHROW( m_GME->ConsoleMessage(bstr, MSG_INFO));
}
@@ -91,7 +91,7 @@
ranges.push_front(range_type());
ranges.front().begin = 1;
ranges.front().end = (counter_type)-1;
- ranges.front().previous.name = "start";
+ ranges.front().previous.name = _T("start");
ranges.front().previous.object = target;
skip_element_level = 0;
@@ -161,30 +161,30 @@
CMgaParser::elementfunc CMgaParser::elementfuncs_bcmga[] =
{
- //elementfunc("project", StartProject, EndNone),
- elementfunc("name", StartNone, EndName),
- elementfunc("comment", StartNone, EndComment),
- elementfunc("author", StartNone, EndAuthor),
- elementfunc("value", StartNone, EndValue),
- elementfunc("regnode", StartRegNode, EndNone),
- elementfunc("attribute", StartAttribute, EndNone),
- elementfunc("constraint", StartNone, EndConstraint),
- elementfunc("folder", StartFolder, EndNone),
- elementfunc("model", StartModel, EndNone),
- elementfunc("atom", StartAtom, EndNone),
- elementfunc("connection", StartConnection, EndNone),
- elementfunc("connpoint", StartBCConnPoint, EndNone), // diff
- elementfunc("reference", StartBCReference, EndNone), // diff
- elementfunc("set", StartBCSet, EndNone), // diff
- elementfunc("clipboard", StartBCClipboard, EndNone), // diff, common for closure clipboards
- elementfunc("", NULL, NULL)
+ //elementfunc(_T("project"), StartProject, EndNone),
+ elementfunc(_T("name"), StartNone, EndName),
+ elementfunc(_T("comment"), StartNone, EndComment),
+ elementfunc(_T("author"), StartNone, EndAuthor),
+ elementfunc(_T("value"), StartNone, EndValue),
+ elementfunc(_T("regnode"), StartRegNode, EndNone),
+ elementfunc(_T("attribute"), StartAttribute, EndNone),
+ elementfunc(_T("constraint"), StartNone, EndConstraint),
+ elementfunc(_T("folder"), StartFolder, EndNone),
+ elementfunc(_T("model"), StartModel, EndNone),
+ elementfunc(_T("atom"), StartAtom, EndNone),
+ elementfunc(_T("connection"), StartConnection, EndNone),
+ elementfunc(_T("connpoint"), StartBCConnPoint, EndNone), // diff
+ elementfunc(_T("reference"), StartBCReference, EndNone), // diff
+ elementfunc(_T("set"), StartBCSet, EndNone), // diff
+ elementfunc(_T("clipboard"), StartBCClipboard, EndNone), // diff, common for closure clipboards
+ elementfunc(_T(""), NULL, NULL)
};
// ------- Element Handlers
void CMgaParser::StartBCClipboard(const attributes_type &attributes)
{
ASSERT( project != NULL );
- ASSERT( GetPrevName() == "start" );
+ ASSERT( GetPrevName() == _T("start") );
ASSERT( GetPrevious().object != NULL );
const CComObjPtr<IUnknown> &obj = GetPrevious().object;
@@ -194,18 +194,18 @@
CComObjPtr<IMgaFolder> folder;
if( SUCCEEDED(obj.QueryInterface(model)) )
- GetCurrent().name = "model";
+ GetCurrent().name = _T("model");
else if( SUCCEEDED(obj.QueryInterface(folder)) )
- GetCurrent().name = "folder";
+ GetCurrent().name = _T("folder");
else
HR_THROW(E_INVALID_FILENAME);
- const std::string *ver = GetByNameX(attributes, "closureversion");
+ const std::tstring *ver = GetByNameX(attributes, _T("closureversion"));
ASSERT( ver);
ASSERT( ver->compare(m_clVerStr) == 0);
- const std::string *acceptingkinds = GetByNameX(attributes, "acceptingkind");
+ const std::tstring *acceptingkinds = GetByNameX(attributes, _T("acceptingkind"));
if( acceptingkinds != NULL)
{
CComBstrObj kind_name;
@@ -223,21 +223,21 @@
}
// check if the accepting kind exists among the accepting kinds
- std::string kind_nm;
+ std::tstring kind_nm;
CopyTo( kind_name, kind_nm);
- if( acceptingkinds->empty()) // if "" token avoid check
+ if( acceptingkinds->empty()) // if _T("") token avoid check
{
- CComBSTR bstr("[Parser] \"clipboard\" element has empty \"acceptingkind\" attribute.");
+ CComBSTR bstr(L"[Parser] \"clipboard\" element has empty \"acceptingkind\" attribute.");
if( m_GME) COMTHROW( m_GME->ConsoleMessage(bstr, MSG_WARNING));
}
else if( !findExact( *acceptingkinds, kind_nm))
{
- CComBSTR bstr("[Parser] Target kind \"");
+ CComBSTR bstr(L"[Parser] Target kind \"");
bstr.Append( kind_nm.c_str());
- bstr.Append("\" not found among accepting kinds: \"");
+ bstr.Append(L"\" not found among accepting kinds: \"");
bstr.Append( acceptingkinds->c_str());
- bstr.Append("\". If you'd like to avoid this check remove or modify to \"\" the \"acceptingkind\" attribute of \"clipboard\" element in an editor.");
+ bstr.Append(L"\". If you'd like to avoid this check remove or modify to \"\" the \"acceptingkind\" attribute of \"clipboard\" element in an editor.");
if( m_GME) COMTHROW( m_GME->ConsoleMessage(bstr, MSG_ERROR));
HR_THROW(E_INVALID_MGA);
}
@@ -248,10 +248,10 @@
void CMgaParser::ResolveClosure1Derivation(const attributes_type &attributes, deriv_type &deriv)
{
- const std::string *s = GetByNameX(attributes, "derivedfrom");
+ const std::tstring *s = GetByNameX(attributes, _T("derivedfrom"));
if( s == NULL )
{
- s = GetByNameX(attributes, "closurelibderivedfrom");
+ s = GetByNameX(attributes, _T("closurelibderivedfrom"));
if( s == NULL)
{
deriv.from.Release();
@@ -259,7 +259,7 @@
}
CComObjPtr<IMgaObject> obj;
- COMTHROW( project->get_ObjectByPath( PutInBstr( *s), PutOut( obj)) );
+ COMTHROW( project->get_ObjectByPath( PutInBstr( *s), PutOut( obj)) );
if ( obj)
COMTHROW( obj.QueryInterface( deriv.from));
else // if nonunique is allowed
@@ -274,11 +274,11 @@
CComBSTR bstr, id, nm;
COMTHROW( obj->get_ID( &id));
COMTHROW( obj->get_Name( &nm));
- bstr.Append("[Closure Parser] Name ambiguity found. Selected: <A HREF=\"mga:");
+ bstr.Append(L"[Closure Parser] Name ambiguity found. Selected: <A HREF=\"mga:");
bstr.AppendBSTR( id);
- bstr.Append("\">");
+ bstr.Append(L"\">");
bstr.AppendBSTR( nm);
- bstr.Append("</A> as basetype. Search path used: ");
+ bstr.Append(L"</A> as basetype. Search path used: ");
bstr.Append( makeViewable(*s).c_str());
COMTHROW( m_GME->ConsoleMessage(bstr, MSG_ERROR));
@@ -299,26 +299,26 @@
throw pass_exception();
}
- s = GetByNameX(attributes, "isinstance");
- deriv.isinstance = ( s != NULL && *s == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE;
+ s = GetByNameX(attributes, _T("isinstance"));
+ deriv.isinstance = ( s != NULL && *s == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE;
- s = GetByNameX(attributes, "isprimary");
- deriv.isprimary = ( s != NULL && *s == "no" ) ? false : true;
+ s = GetByNameX(attributes, _T("isprimary"));
+ deriv.isprimary = ( s != NULL && *s == _T("no") ) ? false : true;
}
void CMgaParser::StartBCConnPoint(const attributes_type &attributes)
{
- ASSERT( GetPrevName() == "connection" );
+ ASSERT( GetPrevName() == _T("connection") );
CComObjPtr<IMgaConnection> conn;
GetPrevObj(conn);
- if( GetPrevious().exstrinfo == "skip" || GetByName(attributes, "isbound") == "yes" ) return;
+ if( GetPrevious().exstrinfo == _T("skip") || GetByName(attributes, _T("isbound")) == _T("yes") ) return;
CComObjPtr<IMgaFCO> target;
// prefer the closurelibtarget over the target:
- const std::string *libtg = GetByNameX(attributes, "closurelibtarget");
+ const std::tstring *libtg = GetByNameX(attributes, _T("closurelibtarget"));
if ( libtg != NULL)
{
CComObjPtr<IMgaObject> obj;
@@ -327,7 +327,7 @@
COMTHROW( obj.QueryInterface( target));
else // if nonunique is allowed
{
- COMTHROW( project->get_NthObjectByPath( 0, PutInBstr( *libtg), PutOut( obj)) );
+ COMTHROW( project->get_NthObjectByPath( 0, PutInBstr( *libtg), PutOut( obj)) );
if( obj)
COMTHROW( obj.QueryInterface( target));
@@ -337,11 +337,11 @@
CComBSTR bstr, id, nm;
COMTHROW( obj->get_ID( &id));
COMTHROW( obj->get_Name( &nm));
- bstr.Append("[Closure Parser] Name ambiguity found. Selected: <A HREF=\"mga:");
+ bstr.Append(L"[Closure Parser] Name ambiguity found. Selected: <A HREF=\"mga:");
bstr.AppendBSTR( id);
- bstr.Append("\">");
+ bstr.Append(L"\">");
bstr.AppendBSTR( nm);
- bstr.Append("</A> as connection target. Search path used: ");
+ bstr.Append(L"</A> as connection target. Search path used: ");
bstr.Append( makeViewable(*libtg).c_str());
COMTHROW( m_GME->ConsoleMessage(bstr, MSG_ERROR));
@@ -349,7 +349,7 @@
}
}
- const std::string *tg = GetByNameX(attributes, "target");
+ const std::tstring *tg = GetByNameX(attributes, _T("target"));
if( tg != NULL && libtg == NULL) // valid info in target iff no closurelibtarget token
{
LookupByID( *tg, target);
@@ -362,7 +362,7 @@
CComObjPtr<IMgaFCOs> coll;
COMTHROW(coll.CoCreateInstance(L"Mga.MgaFCOs"));
- const std::string *s = GetByNameX(attributes, "refs");
+ const std::tstring *s = GetByNameX(attributes, _T("refs"));
if( s != NULL )
{
int pos = s->find_first_not_of(' ', 0);
@@ -375,7 +375,7 @@
ASSERT( pos2 > pos );
CComObjPtr<IMgaFCO> ref;
- LookupByID(std::string(*s, pos, pos2-pos), ref);
+ LookupByID(std::tstring(*s, pos, pos2-pos), ref);
if( ref == NULL )
throw pass_exception();
@@ -388,7 +388,7 @@
CComObjPtr<IMgaConnPoint> connpoint;
- COMTHROW( conn->AddConnPoint(PutInBstr(GetByName(attributes, "role")), 0, // FIXME: multiplicity
+ COMTHROW( conn->AddConnPoint(PutInBstr(GetByName(attributes, _T("role"))), 0, // FIXME: multiplicity
target, coll, PutOut(connpoint)) );
}
@@ -401,7 +401,7 @@
CComObjPtr<IMgaFCO> referred;
- const std::string *s = GetByNameX(attributes, "referred");
+ const std::tstring *s = GetByNameX(attributes, _T("referred"));
if( s != NULL )
{
LookupByID(*s, referred);
@@ -411,7 +411,7 @@
}
else // by ZolMol
{
- s = GetByNameX(attributes, "closurelibreferred");
+ s = GetByNameX(attributes, _T("closurelibreferred"));
if( s != NULL)
{
CComObjPtr<IMgaObject> obj;
@@ -430,11 +430,11 @@
CComBSTR bstr, id, nm;
COMTHROW( obj->get_ID( &id));
COMTHROW( obj->get_Name( &nm));
- bstr.Append("[Closure Parser] Name ambiguity found. Selected: <A HREF=\"mga:");
+ bstr.Append(L"[Closure Parser] Name ambiguity found. Selected: <A HREF=\"mga:");
bstr.AppendBSTR( id);
- bstr.Append("\">");
+ bstr.Append(L"\">");
bstr.AppendBSTR( nm);
- bstr.Append("</A> as library reference. Search path used: ");
+ bstr.Append(L"</A> as library reference. Search path used: ");
bstr.Append( makeViewable(*s).c_str());
COMTHROW( m_GME->ConsoleMessage(bstr, MSG_ERROR));
@@ -443,7 +443,7 @@
}
}
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -456,7 +456,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_REFERENCE, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -466,14 +466,14 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_REFERENCE,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_REFERENCE,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -501,7 +501,7 @@
}
ASSERT( fco != NULL );
- if( !(GetByName(attributes, "isbound") == "yes") && referred != NULL )
+ if( !(GetByName(attributes, _T("isbound")) == _T("yes")) && referred != NULL )
{
CComObjPtr<IMgaReference> ref;
COMTHROW( fco.QueryInterface(ref) );
@@ -523,7 +523,7 @@
std::list< CComObjPtr<IMgaFCO> > members;//slist
- const std::string *s = GetByNameX(attributes, "members");
+ const std::tstring *s = GetByNameX(attributes, _T("members"));
if( s != NULL )
{
int pos = s->find_first_not_of(' ', 0);
@@ -536,7 +536,7 @@
ASSERT( pos2 > pos );
CComObjPtr<IMgaFCO> member;
- LookupByID(std::string(*s, pos, pos2-pos), member);
+ LookupByID(std::tstring(*s, pos, pos2-pos), member);
if( member == NULL )
throw pass_exception();
@@ -547,7 +547,7 @@
}
}
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -560,7 +560,7 @@
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_SET, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -570,14 +570,14 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_SET,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_SET,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -610,7 +610,7 @@
CComObjPtr<IMgaSet> mgaset;
COMTHROW( fco.QueryInterface(mgaset) );
- if( !(GetByName(attributes, "isbound") == "yes") ) {
+ if( !(GetByName(attributes, _T("isbound")) == _T("yes")) ) {
COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
std::list< CComObjPtr<IMgaFCO> >::iterator i = members.begin();//slist
while( i != members.end() )
Modified: trunk/GME/Parser/MgaParserClosureHelper.cpp
==============================================================================
--- trunk/GME/Parser/MgaParserClosureHelper.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaParserClosureHelper.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -11,7 +11,7 @@
#include "helper.h"
// goes up in the object hierarchy as indicated by the number of '..'s in 'originalPath' and returns the new parent and remaining path info
-void CMgaParser::stepUpInHierarchy( CComObjPtr<IMgaObject>& pCurrentObj, const std::string& originalPath, CComObjPtr<IMgaObject>& pNewParent, std::string& remainingPath)
+void CMgaParser::stepUpInHierarchy( CComObjPtr<IMgaObject>& pCurrentObj, const std::tstring& originalPath, CComObjPtr<IMgaObject>& pNewParent, std::tstring& remainingPath)
{
CComObjPtr<IMgaFCO> cur_fco;
CComObjPtr<IMgaFolder> cur_fld;
@@ -21,9 +21,9 @@
bool isfco = (cur_fco != NULL);
- std::string m = originalPath;
+ std::tstring m = originalPath;
- while( m.substr(0,4) == "/@..")
+ while( m.substr(0,4) == _T("/@.."))
{
CComObjPtr<IMgaModel> mod;
if( isfco) COMTHROW( cur_fco->get_ParentModel( PutOut( mod)) );
@@ -46,7 +46,7 @@
}
else // rootfolder reached: wrong path information
{
- remainingPath = "";
+ remainingPath = _T("");
return; // pNewParent remains empty
}
}
@@ -60,17 +60,17 @@
else if( cur_fld) pNewParent = cur_fld;
}
-void CMgaParser::findFCOWithRelPathAndGUID( CComObjPtr<IMgaObject> obj_rel_to, const std::string& relpath , const std::string& guid, CComObjPtr<IMgaFCO>& pFoundFCO)
+void CMgaParser::findFCOWithRelPathAndGUID( CComObjPtr<IMgaObject> obj_rel_to, const std::tstring& relpath , const std::tstring& guid, CComObjPtr<IMgaFCO>& pFoundFCO)
{
// rel_path gives an indication how much to step up in the hierarchy
CComObjPtr<IMgaObject> new_parent;
- stepUpInHierarchy( obj_rel_to, relpath, new_parent, std::string());
+ stepUpInHierarchy( obj_rel_to, relpath, new_parent, std::tstring());
if( new_parent) // valid parent
findFCOWithGUIDInTree( new_parent, guid, pFoundFCO);
}
-void CMgaParser::findFCOWithGUID( CComObjPtr<IMgaObject> prev, const std::string& guid, CComObjPtr<IMgaFCO>& pFoundFco)
+void CMgaParser::findFCOWithGUID( CComObjPtr<IMgaObject> prev, const std::tstring& guid, CComObjPtr<IMgaFCO>& pFoundFco)
{
CComObjPtr<IMgaModel> m;
CComObjPtr<IMgaFolder> f;
@@ -101,7 +101,7 @@
}
-void CMgaParser::findFCOWithGUIDInTree( CComObjPtr<IMgaObject> pParent, const std::string& guid, CComObjPtr<IMgaFCO>& pFoundFCO)
+void CMgaParser::findFCOWithGUIDInTree( CComObjPtr<IMgaObject> pParent, const std::tstring& guid, CComObjPtr<IMgaFCO>& pFoundFCO)
{
#if(1)
// breadth-first
@@ -200,9 +200,9 @@
if( !m_mergeAllowed) return false;
// TODO : use role to narrow search
- //std::string role_in_clipdata = GetByName(p_attributes, "role");
+ //std::tstring role_in_clipdata = GetByName(p_attributes, "role");
- std::string id_in_clipdata = GetByName(p_attributes, "closureguid"); // guid
+ std::tstring id_in_clipdata = GetByName(p_attributes, _T("closureguid")); // guid
ASSERT( id_in_clipdata.length() == GLOBAL_ID_LEN);
bool found = false;
@@ -278,12 +278,12 @@
if( !found // id not stored in registry (or different ids found only)
&& p_typeRequested != 'C') // but the names may allow us to merge
{ // except if Connection (usually having same names)
- const std::string* s = 0;
- s = GetByNameX(p_attributes, "closurename");
- if( s != 0 && s->compare("") != 0)
+ const std::tstring* s = 0;
+ s = GetByNameX(p_attributes, _T("closurename"));
+ if( s != 0 && s->compare(_T("")) != 0)
{
CComObjPtr<IMgaObject> obj2;
- findObjOnRelPath( CComObjPtr<IMgaObject>(p_parent), *s, obj2, "mergable object");
+ findObjOnRelPath( CComObjPtr<IMgaObject>(p_parent), *s, obj2, _T("mergable object"));
if( obj2) COMTHROW( obj2.QueryInterface( p_obj));
found = p_obj != 0;
}
@@ -294,8 +294,8 @@
bool CMgaParser::findObject( const CComObjPtr<IMgaModel>& p_prev, const attributes_type& p_attributes, CComObjPtr<IMgaFCO>& p_obj, const char p_typeRequested)
{
CComObjPtrVector<IMgaFCO> chld;
- if( GetByNameX( p_attributes, "kind"))
- COMTHROW( p_prev->GetChildrenOfKind( PutInBstrAttr(p_attributes, "kind"), PutOut( chld)));
+ if( GetByNameX( p_attributes, _T("kind")))
+ COMTHROW( p_prev->GetChildrenOfKind( PutInBstrAttr(p_attributes, _T("kind")), PutOut( chld)));
else
COMTHROW(p_prev->get_ChildFCOs( PutOut( chld)));
@@ -306,8 +306,8 @@
{
CComObjPtrVector<IMgaFCO> chld;
- if( GetByNameX( p_attributes, "kind"))
- COMTHROW( p_prev->GetChildrenOfKind( PutInBstrAttr(p_attributes, "kind"), PutOut( chld)));
+ if( GetByNameX( p_attributes, _T("kind")))
+ COMTHROW( p_prev->GetChildrenOfKind( PutInBstrAttr(p_attributes, _T("kind")), PutOut( chld)));
else
COMTHROW(p_prev->get_ChildFCOs( PutOut( chld)));
@@ -322,9 +322,9 @@
CComObjPtrVector<IMgaFolder> chld;
COMTHROW(p_prev->get_ChildFolders( PutOut( chld)));
- std::string req_kind = GetByName( p_attributes, "kind");
+ std::tstring req_kind = GetByName( p_attributes, _T("kind"));
- std::string id_in_clipdata = GetByName(p_attributes, "closureguid");
+ std::tstring id_in_clipdata = GetByName(p_attributes, _T("closureguid"));
ASSERT( id_in_clipdata.length() == GLOBAL_ID_LEN);
bool found = false;
@@ -349,24 +349,24 @@
}
if( !found) // id not stored in registry (or different ids found only)
{ // but the names may allow us to merge
- const std::string* s = 0;
- s = GetByNameX(p_attributes, "closurename");
- if( s != 0 && s->compare("") != 0)
+ const std::tstring* s = 0;
+ s = GetByNameX(p_attributes, _T("closurename"));
+ if( s != 0 && s->compare(_T("")) != 0)
{
CComObjPtr<IMgaObject> obj2;
- findObjOnRelPath( CComObjPtr<IMgaObject>(p_prev), *s, obj2, "mergable object");
+ findObjOnRelPath( CComObjPtr<IMgaObject>(p_prev), *s, obj2, _T("mergable object"));
if( obj2) COMTHROW( obj2.QueryInterface( p_folder));
found = p_folder != 0;
}
}
return found;
}
-void CMgaParser::findObjOnAbsPath( CComObjPtr<IMgaProject> p_project, const std::string& p_absPath , CComObjPtr<IMgaObject>& p_obj, const std::string& text)
+void CMgaParser::findObjOnAbsPath( CComObjPtr<IMgaProject> p_project, const std::tstring& p_absPath , CComObjPtr<IMgaObject>& p_obj, const std::tstring& text)
{
- COMTHROW( p_project->get_ObjectByPath( PutInBstr( p_absPath), PutOut( p_obj)) );
+ COMTHROW( p_project->get_ObjectByPath( _bstr_t(p_absPath.c_str()), PutOut( p_obj)) );
if( !p_obj) // if nonunique is allowed
{
- COMTHROW( p_project->get_NthObjectByPath( 0, PutInBstr( p_absPath), PutOut( p_obj)) );
+ COMTHROW( p_project->get_NthObjectByPath( 0, _bstr_t(p_absPath.c_str()), PutOut( p_obj)) );
if( p_obj)
{
@@ -375,7 +375,7 @@
if( m_GME)
{
CComBSTR bstr;
- bstr.Append("Name ambiguity, selected: ");
+ bstr.Append(_T("Name ambiguity, selected: "));
bstr.AppendBSTR( makeLink( p_obj));
if( !text.empty())
@@ -392,7 +392,7 @@
}
}
-void CMgaParser::findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const std::string& relpath , CComObjPtr<IMgaObject>& obj, const std::string& text)
+void CMgaParser::findObjOnRelPath( CComObjPtr<IMgaObject> obj_rel_to, const std::tstring& relpath , CComObjPtr<IMgaObject>& obj, const std::tstring& text)
{
ASSERT( !relpath.empty());
ASSERT( obj_rel_to);
@@ -405,9 +405,9 @@
bool isfco = (cur_fco != NULL);
- std::string m = relpath;
+ std::tstring m = relpath;
- while( m.substr(0,4) == "/@..")
+ while( m.substr(0,4) == _T("/@.."))
{
CComObjPtr<IMgaModel> mod;
if( isfco) COMTHROW( cur_fco->get_ParentModel( PutOut( mod)) );
@@ -478,17 +478,17 @@
, CComObjPtr<IMgaObject>& place
)
{
- const std::string *nm = GetByNameX(attributes, "closurepath");
+ const std::tstring *nm = GetByNameX(attributes, _T("closurepath"));
if( nm != NULL)
{
- if( nm->compare("") == 0)
+ if( nm->compare(_T("")) == 0)
{
place = m_target;
return true;
}
else
{
- findObjOnRelPath( m_target, *nm, place, "place");
+ findObjOnRelPath( m_target, *nm, place, _T("place"));
if( place)
return true;
else
@@ -520,9 +520,9 @@
place = m_target;//<!> let's try this
CComBSTR bstr("Correct place not found for object: ");
- bstr.Append( makeNameViewable( GetByName( attributes, "closurename")).c_str());
+ bstr.Append( makeNameViewable( GetByName( attributes, _T("closurename"))).c_str());
bstr.Append(". Search path used: ");
- bstr.Append( makeViewable( GetByName(attributes, "closurepath")).c_str());
+ bstr.Append( makeViewable( GetByName(attributes, _T("closurepath"))).c_str());
bstr.Append(". Trying to insert into the target object: ");
bstr.AppendBSTR( makeLink( place));
bstr.Append(".");
@@ -539,7 +539,7 @@
{
CComPtr<IGMEOLEApp> gme;
if ( (project != NULL)) {
- CComBSTR bstrName("GME.Application");
+ CComBSTR bstrName(L"GME.Application");
CComPtr<IMgaClient> pClient;
HRESULT hr = project->GetClientByName(bstrName, &pClient);
if (SUCCEEDED(hr) && pClient) {
@@ -646,15 +646,15 @@
void CMgaParser::tryToFindMissedReferreds()
{
- std::map< CComObjPtr<IMgaFCO>, std::string, CompareCComObj >::iterator it = m_notFoundReferredObject.begin();
- std::map< CComObjPtr<IMgaFCO>, std::string, CompareCComObj >::iterator itend = m_notFoundReferredObject.end();
+ std::map< CComObjPtr<IMgaFCO>, std::tstring, CompareCComObj >::iterator it = m_notFoundReferredObject.begin();
+ std::map< CComObjPtr<IMgaFCO>, std::tstring, CompareCComObj >::iterator itend = m_notFoundReferredObject.end();
for( ; it != itend; ++it)
{
if( !it->first) continue;
bool error = false;
CComObjPtr<IMgaObject> target;
- findObjOnRelPath( CComObjPtr<IMgaObject>( it->first), it->second, target, "referred object");
+ findObjOnRelPath( CComObjPtr<IMgaObject>( it->first), it->second, target, _T("referred object"));
if( target)
{
CComObjPtr<IMgaReference> ref;
@@ -693,8 +693,8 @@
void CMgaParser::tryToFindMissedSetMembers()
{
- std::map< CComObjPtr<IMgaFCO>, std::vector< std::string >, CompareCComObj >::iterator it = m_notFoundSetMembers.begin();
- std::map< CComObjPtr<IMgaFCO>, std::vector< std::string >, CompareCComObj >::iterator itend = m_notFoundSetMembers.end();
+ std::map< CComObjPtr<IMgaFCO>, std::vector< std::tstring >, CompareCComObj >::iterator it = m_notFoundSetMembers.begin();
+ std::map< CComObjPtr<IMgaFCO>, std::vector< std::tstring >, CompareCComObj >::iterator itend = m_notFoundSetMembers.end();
for( ; it != itend; ++it)
{
if( !it->first || it->second.empty()) continue;
@@ -704,15 +704,15 @@
if( !set) continue;
- std::vector< std::string >::iterator member_it = it->second.begin();
- std::vector< std::string >::iterator member_it_end = it->second.end();
+ std::vector< std::tstring >::iterator member_it = it->second.begin();
+ std::vector< std::tstring >::iterator member_it_end = it->second.end();
for( ; member_it != member_it_end; ++member_it)
{
if( member_it->empty()) continue;
bool error = false;
CComObjPtr<IMgaObject> member;
- findObjOnRelPath( CComObjPtr<IMgaObject>( it->first), *member_it, member, "set member");
+ findObjOnRelPath( CComObjPtr<IMgaObject>( it->first), *member_it, member, _T("set member"));
if( member)
{
CComObjPtr<IMgaFCO> fco_member;
@@ -785,11 +785,11 @@
void CMgaParser::msgSC( CComBSTR& msg, msgtype_enum type)
{
- static const char * sc_text = "[Smartcopy Parser] ";
+ static const TCHAR * sc_text = _T("[Smartcopy Parser] ");
CComBSTR m2;
- std::string t;
+ std::tstring t;
CopyTo( msg, t);
- if( t.substr( 0, strlen( sc_text)) != sc_text)
+ if( t.substr( 0, _tcslen( sc_text)) != sc_text)
{
m2.Append( sc_text);
m2.AppendBSTR( msg);
Modified: trunk/GME/Parser/MgaParserSC.cpp
==============================================================================
--- trunk/GME/Parser/MgaParserSC.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/MgaParserSC.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -23,7 +23,7 @@
CloseAll();
COMTHROW( progress.CoCreateInstance(L"Mga.MgaProgressDlg") );
- COMTHROW( progress->SetTitle(PutInBstr("Importing SmartCopied XML data...")) );
+ COMTHROW( progress->SetTitle(_bstr_t(L"Importing SmartCopied XML data...")) );
COMTHROW( progress->StartProgressDialog(NULL) );
CComObjPtr<IMgaProject> p;
@@ -47,7 +47,7 @@
m_mergeAllowed = (options & MERGE) != 0;
m_target = target;
m_resolveDerFuncPtr = &CMgaParser::ResolveClosure4Derivation;
- m_clVerStr = "4";//end
+ m_clVerStr = _T("4");//end
project_prefs = project_prefs_orig | MGAPREF_IGNORECONNCHECKS;
COMTHROW( p->put_Preferences(project_prefs) );
@@ -80,7 +80,7 @@
ranges.push_front(range_type());
ranges.front().begin = 1;
ranges.front().end = (counter_type)-1;
- ranges.front().previous.name = "start";
+ ranges.front().previous.name = _T("start");
ranges.front().previous.object = target;
skip_element_level = 0;
@@ -101,7 +101,7 @@
// FIXME: better algorithm for infinite loop
if( ++pass_count >= 1 )//<!> reduced from 100 to 5
{
- msgSC( CComBSTR("Exception during parsing."), MSG_ERROR);
+ msgSC( CComBSTR(L"Exception during parsing."), MSG_ERROR);
HR_THROW(E_TOOMANYPASSES);
}
@@ -113,8 +113,8 @@
if( isNeedFor2ndStep())
{
- CComBSTR bstr1("Some objects were not found during parsing.");
- CComBSTR bstr2("Invoking 2nd step...");
+ CComBSTR bstr1(L"Some objects were not found during parsing.");
+ CComBSTR bstr2(L"Invoking 2nd step...");
msgSC( bstr1, MSG_ERROR);
msgSC( bstr2, MSG_INFO);
@@ -164,41 +164,41 @@
CMgaParser::elementfunc CMgaParser::elementfuncs_scmga[] = // special handlers for all elements
{
- //elementfunc("project", StartProject, EndNone),
- elementfunc("name", StartNone, EndSCName),
- //elementfunc("comment", StartNone, EndComment),
- //elementfunc("author", StartNone, EndAuthor),
- elementfunc("value", StartNone, EndSCValue),
- elementfunc("regnode", StartSCRegNode, EndSCRegNode),
- elementfunc("attribute", StartSCAttribute, EndNone),
- elementfunc("constraint", StartNone, EndSCConstraint),
- elementfunc("folder", StartSCFolder, EndNone),
- elementfunc("model", StartSCModel, EndNone),
- elementfunc("atom", StartSCAtom, EndNone),
- elementfunc("connection", StartSCConnection, EndSCConnection),
- elementfunc("connpoint", StartSCConnPoint, EndNone),
- elementfunc("reference", StartSCReference, EndNone),
- elementfunc("set", StartSCSet, EndNone),
- elementfunc("clipboard", StartBCClipboard, EndNone), // common for closures
- elementfunc("", NULL, NULL)
+ //elementfunc(_T("project"), StartProject, EndNone),
+ elementfunc(_T("name"), StartNone, EndSCName),
+ //elementfunc(_T("comment"), StartNone, EndComment),
+ //elementfunc(_T("author"), StartNone, EndAuthor),
+ elementfunc(_T("value"), StartNone, EndSCValue),
+ elementfunc(_T("regnode"), StartSCRegNode, EndSCRegNode),
+ elementfunc(_T("attribute"), StartSCAttribute, EndNone),
+ elementfunc(_T("constraint"), StartNone, EndSCConstraint),
+ elementfunc(_T("folder"), StartSCFolder, EndNone),
+ elementfunc(_T("model"), StartSCModel, EndNone),
+ elementfunc(_T("atom"), StartSCAtom, EndNone),
+ elementfunc(_T("connection"), StartSCConnection, EndSCConnection),
+ elementfunc(_T("connpoint"), StartSCConnPoint, EndNone),
+ elementfunc(_T("reference"), StartSCReference, EndNone),
+ elementfunc(_T("set"), StartSCSet, EndNone),
+ elementfunc(_T("clipboard"), StartBCClipboard, EndNone), // common for closures
+ elementfunc(_T(""), NULL, NULL)
};
void CMgaParser::ResolveClosure4Derivation(const attributes_type &attributes, deriv_type &deriv)
{
- const std::string *s = GetByNameX(attributes, "derivedfrom");
+ const std::tstring *s = GetByNameX(attributes, _T("derivedfrom"));
if( s == NULL )
{
- s = GetByNameX(attributes, "closurelibderivedfrom");
+ s = GetByNameX(attributes, _T("closurelibderivedfrom"));
if( s != NULL)
{
CComObjPtr<IMgaObject> obj;
- findObjOnAbsPath( project, *s, obj, "archetype");
+ findObjOnAbsPath( project, *s, obj, _T("archetype"));
if( obj)
COMTHROW( obj.QueryInterface( deriv.from));
else
{
- CComBSTR bstr("Archetype can not be found in library. Basetype lost. ");
- bstr.Append("Search path used: ");
+ CComBSTR bstr(L"Archetype can not be found in library. Basetype lost. ");
+ bstr.Append(L"Search path used: ");
bstr.Append( makeViewable(*s).c_str());
msgSC( bstr, MSG_ERROR);
}
@@ -206,15 +206,15 @@
}
else //if( s == NULL)
{
- const std::string* g;
- g = GetByNameX( attributes, "smartDerivedFromGUID");
- s = GetByNameX( attributes, "closure2derivedfrom");
+ const std::tstring* g;
+ g = GetByNameX( attributes, _T("smartDerivedFromGUID"));
+ s = GetByNameX( attributes, _T("closure2derivedfrom"));
- std::string rel_path_changed = s? *s: "";
+ std::tstring rel_path_changed = s? *s: _T("");
// since the derfrom is calculated relatively to the fco,
// we have to modify the path so that it could be found
// with a search starting from its container
- if( rel_path_changed.substr(0, 4) == "/@..")
+ if( rel_path_changed.substr(0, 4) == _T("/@.."))
rel_path_changed = rel_path_changed.substr(4);
// else: the object has similar name to its archetype
// else: the derfrom object cannot be inside the derived object
@@ -240,14 +240,14 @@
if( !deriv.from && s != NULL)
{
CComObjPtr<IMgaObject> obj;
- findObjOnRelPath( CComObjPtr<IMgaObject>(place), rel_path_changed, obj, "archetype");
+ findObjOnRelPath( CComObjPtr<IMgaObject>(place), rel_path_changed, obj, _T("archetype"));
if( obj)
COMTHROW( obj.QueryInterface( deriv.from));
else // error report
{
- CComBSTR bstr("Archetype can not be found. Basetype lost. ");
- bstr.Append("Search path used: ");
+ CComBSTR bstr(L"Archetype can not be found. Basetype lost. ");
+ bstr.Append(L"Search path used: ");
bstr.Append( makeViewable(rel_path_changed).c_str());
msgSC( bstr, MSG_ERROR);
}
@@ -269,11 +269,11 @@
throw pass_exception();
}
- s = GetByNameX(attributes, "isinstance");
- deriv.isinstance = ( s != NULL && *s == "yes" ) ? VARIANT_TRUE : VARIANT_FALSE;
+ s = GetByNameX(attributes, _T("isinstance"));
+ deriv.isinstance = ( s != NULL && *s == _T("yes") ) ? VARIANT_TRUE : VARIANT_FALSE;
- s = GetByNameX(attributes, "isprimary");
- deriv.isprimary = ( s != NULL && *s == "no" ) ? false : true;
+ s = GetByNameX(attributes, _T("isprimary"));
+ deriv.isprimary = ( s != NULL && *s == _T("no") ) ? false : true;
}
// ------- Element Handlers
@@ -285,7 +285,7 @@
//ResolveDerivation(attributes, deriv);
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -296,15 +296,15 @@
COMTHROW( prev->DeriveRootObject(deriv.from, deriv.isinstance, PutOut(conn)) );
// user info
- CComBSTR msg = makeLink( conn, makeNameViewable( GetByName(attributes, "closurename")), true);
- msg.Append( " connection derived from ");
+ CComBSTR msg = makeLink( conn, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
+ msg.Append( L" connection derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
}
else
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_CONNECTION, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -314,15 +314,15 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_CONNECTION,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_CONNECTION,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -342,8 +342,8 @@
}
// user info
- CComBSTR msg = makeLink( conn, makeNameViewable( GetByName(attributes, "closurename")), true);
- msg.Append( " connection derived from ");
+ CComBSTR msg = makeLink( conn, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
+ msg.Append( L" connection derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
}
@@ -366,28 +366,28 @@
assignrelid(conn);
// user info
- CComBSTR msg = makeLink( conn, makeNameViewable( GetByName(attributes, "closurename")));
- msg.Append( " connection created.");
+ CComBSTR msg = makeLink( conn, makeNameViewable( GetByName(attributes, _T("closurename"))));
+ msg.Append( L" connection created.");
msgSC( msg, MSG_INFO);
}
else
{
// error, could not find a correct reference chain
- CComBSTR bstr("Connection \"");
- bstr.Append( makeNameViewable( GetByName(attributes, "closurename")).c_str());
- bstr.Append("\": could not be created.");
+ CComBSTR bstr(L"Connection \"");
+ bstr.Append( makeNameViewable( GetByName(attributes, _T("closurename"))).c_str());
+ bstr.Append(L"\": could not be created.");
msgSC( bstr, MSG_ERROR);
bstr.Empty();
- bstr.Append(" Reference chain involved: ");
- if( !o1) bstr.Append( makeViewable( GetByName( attributes, "smart0RefChain" )).c_str());
- else if( !o2) bstr.Append( makeViewable( GetByName( attributes, "smart1RefChain" )).c_str());
+ bstr.Append(L" Reference chain involved: ");
+ if( !o1) bstr.Append( makeViewable( GetByName( attributes, _T("smart0RefChain") )).c_str());
+ else if( !o2) bstr.Append( makeViewable( GetByName( attributes, _T("smart1RefChain") )).c_str());
msgSC( bstr, MSG_ERROR);
bstr.Empty();
- bstr.Append(" Target path used: ");
- if( !o1) bstr.Append( makeViewable( GetByName( attributes, "smart0Target" )).c_str());
- else if( !o2) bstr.Append( makeViewable( GetByName( attributes, "smart1Target" )).c_str());
+ bstr.Append(L" Target path used: ");
+ if( !o1) bstr.Append( makeViewable( GetByName( attributes, _T("smart0Target") )).c_str());
+ else if( !o2) bstr.Append( makeViewable( GetByName( attributes, _T("smart1Target") )).c_str());
msgSC( bstr, MSG_ERROR);
// to safely pass through hard times (parsing internal connpoints, attributes, regnodes...
@@ -398,7 +398,7 @@
COMTHROW( prev->CreateChildObject(role, PutOut(conn)) );
assignrelid(conn);
- GetCurrent().exstrinfo = "handicapped";
+ GetCurrent().exstrinfo = _T("handicapped");
}
}
else // will skip contained elements/attribute values/regnode entries/constraints/name element
@@ -406,9 +406,9 @@
skip_inner_elements = true;
// user info
- CComBSTR msg = "Merging ";
+ CComBSTR msg = L"Merging ";
msg.AppendBSTR(makeLink( conn));
- msg.Append( " connection.");
+ msg.Append( L" connection.");
msgSC( msg, MSG_INFO);
}
@@ -417,26 +417,26 @@
ASSERT( conn != NULL );
GetCurrent().object = conn;
- if( GetByName(attributes, "isbound") == "yes"
+ if( GetByName(attributes, _T("isbound")) == _T("yes")
|| skip_inner_elements)
- GetCurrent().exstrinfo = "skip";
+ GetCurrent().exstrinfo = _T("skip");
RegisterLookup(attributes, conn);
}
bool CMgaParser::findConnectionEnd
( CComObjPtr<IMgaObject> pPrev
- , const std::string& isbound
- , const std::string& role
- , const std::string& targetGUID
- , const std::string& targetPATH
- , const std::string& refchainGUID
- , const std::string& refchainPATH
+ , const std::tstring& isbound
+ , const std::tstring& role
+ , const std::tstring& targetGUID
+ , const std::tstring& targetPATH
+ , const std::tstring& refchainGUID
+ , const std::tstring& refchainPATH
, CComObjPtr<IMgaFCO>& pFoundObj
, CComObjPtr<IMgaFCOs>& pFoundRefChain
)
{
- std::vector< std::string> guid_closure_ref_vec;
+ std::vector< std::tstring> guid_closure_ref_vec;
if( !refchainGUID.empty())
{
int pos = refchainGUID.find_first_not_of(' ', 0);
@@ -449,12 +449,12 @@
ASSERT( pos2 > pos );
- guid_closure_ref_vec.push_back( std::string(refchainGUID, pos, pos2-pos));
+ guid_closure_ref_vec.push_back( std::tstring(refchainGUID, pos, pos2-pos));
pos = pos2+1;
}
}
- std::vector< std::string> name_closure_ref_vec;
+ std::vector< std::tstring> name_closure_ref_vec;
if( !refchainPATH.empty())
{
int pos = refchainPATH.find_first_not_of(' ', 0);
@@ -467,7 +467,7 @@
ASSERT( pos2 > pos );
- name_closure_ref_vec.push_back( std::string(refchainPATH, pos, pos2-pos));
+ name_closure_ref_vec.push_back( std::tstring(refchainPATH, pos, pos2-pos));
pos = pos2+1;
}
}
@@ -544,7 +544,7 @@
CComObjPtr<IMgaObject> nx_obj;
// search based on closurerefs
- findObjOnRelPath( CComObjPtr<IMgaObject>( pPrev), name_closure_ref_vec[0], nx_obj, "reference chain");
+ findObjOnRelPath( CComObjPtr<IMgaObject>( pPrev), name_closure_ref_vec[0], nx_obj, _T("reference chain"));
if( nx_obj) COMTHROW( nx_obj.QueryInterface( next_obj));
// we will build up the collection of references
@@ -612,7 +612,7 @@
if( !pFoundObj && !targetPATH.empty())
{
CComObjPtr<IMgaObject> t_target;
- findObjOnRelPath( CComObjPtr<IMgaObject>( pPrev), targetPATH, t_target, "target");
+ findObjOnRelPath( CComObjPtr<IMgaObject>( pPrev), targetPATH, t_target, _T("target"));
if( t_target) COMTHROW( t_target.QueryInterface( pFoundObj));
}
}
@@ -629,23 +629,23 @@
, CComObjPtr<IMgaFCOs>& pFoundDstRefChain
)
{
- const char *role_attr [] = { "smart0Role" , "smart1Role" };
- const char *targetGUID_attr [] = { "smart0TargetGUID" , "smart1TargetGUID" };
- const char *target_attr [] = { "smart0Target" , "smart1Target" };
- const char *refchainGUID_attr[]= { "smart0RefChainGUID" , "smart1RefChainGUID" };
- const char *refchain_attr [] = { "smart0RefChain" , "smart1RefChain" };
- const char *isbound_attr [] = { "smart0IsBound" , "smart1IsBound" };
+ const TCHAR *role_attr [] = { _T("smart0Role") , _T("smart1Role") };
+ const TCHAR *targetGUID_attr [] = { _T("smart0TargetGUID") , _T("smart1TargetGUID") };
+ const TCHAR *target_attr [] = { _T("smart0Target") , _T("smart1Target") };
+ const TCHAR *refchainGUID_attr[]= { _T("smart0RefChainGUID") , _T("smart1RefChainGUID") };
+ const TCHAR *refchain_attr [] = { _T("smart0RefChain") , _T("smart1RefChain") };
+ const TCHAR *isbound_attr [] = { _T("smart0IsBound") , _T("smart1IsBound") };
CComObjPtr<IMgaFCO> obj[2];
CComObjPtr<IMgaFCOs> coll[2];
for( int i = 0 ; i < 2; ++i)
{
- std::string isbound = GetByName( pAttributes, isbound_attr[i]);
- std::string role = GetByName( pAttributes, role_attr[i]);
- std::string targetGUID = GetByName( pAttributes, targetGUID_attr[i]);
- std::string refchainGUID = GetByName( pAttributes, refchainGUID_attr[i]);
- std::string target = GetByName( pAttributes, target_attr[i]);
- std::string refchain = GetByName( pAttributes, refchain_attr[i]);
+ std::tstring isbound = GetByName( pAttributes, isbound_attr[i]);
+ std::tstring role = GetByName( pAttributes, role_attr[i]);
+ std::tstring targetGUID = GetByName( pAttributes, targetGUID_attr[i]);
+ std::tstring refchainGUID = GetByName( pAttributes, refchainGUID_attr[i]);
+ std::tstring target = GetByName( pAttributes, target_attr[i]);
+ std::tstring refchain = GetByName( pAttributes, refchain_attr[i]);
findConnectionEnd( pPrev, isbound, role, targetGUID, target, refchainGUID, refchain, obj[i], coll[i]);
}
@@ -676,7 +676,7 @@
CComObjPtrVector<IMgaConnPoint> cps;
COMTHROW( fresh_conn->get_ConnPoints( PutOut( cps)));
- if( cps.size() < 2 || GetCurrent().exstrinfo == "handicapped") // handicapped connection, error must have occurred
+ if( cps.size() < 2 || GetCurrent().exstrinfo == _T("handicapped")) // handicapped connection, error must have occurred
{
COMTHROW( fresh_conn->DestroyObject());
return;
@@ -700,7 +700,7 @@
CComObjPtr<IMgaFCO> referred;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -713,8 +713,8 @@
assignrelid(fco);
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")), true);
- msg.Append( " reference derived from ");
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
+ msg.Append( _T(" reference derived from "));
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -728,7 +728,7 @@
if( !found)
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_REFERENCE, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -737,8 +737,8 @@
assignrelid(fco);
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")));
- msg.Append( " reference created.");
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))));
+ msg.Append( _T(" reference created."));
msgSC( msg, MSG_INFO);
}
else // will skip contained elements/attribute values/regnode entries/constraints/name element
@@ -747,17 +747,17 @@
needs_target = isNullRef( fco);
// user info
- CComBSTR msg = "Merging ";
+ CComBSTR msg = L"Merging ";
msg.AppendBSTR(makeLink( fco));
- if( needs_target) msg.Append(" null");
- msg.Append( " reference.");
+ if( needs_target) msg.Append(L" null");
+ msg.Append( L" reference.");
msgSC( msg, MSG_INFO);
}
}
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
@@ -765,8 +765,8 @@
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_REFERENCE,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_REFERENCE,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -786,8 +786,8 @@
}
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")), true);
- msg.Append( " reference derived from ");
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
+ msg.Append( L" reference derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
}
@@ -804,8 +804,8 @@
assignrelid(fco);
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")));
- msg.Append( " reference created.");
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))));
+ msg.Append( L" reference created.");
msgSC( msg, MSG_INFO);
}
else // will skip contained elements/attribute values/regnode entries/constraints/name element
@@ -814,10 +814,10 @@
needs_target = isNullRef( fco);
// user info
- CComBSTR msg = "Merging ";
+ CComBSTR msg = "LMerging ";
msg.AppendBSTR(makeLink( fco));
- if( needs_target) msg.Append(" null");
- msg.Append( " reference.");
+ if( needs_target) msg.Append(L" null");
+ msg.Append( L" reference.");
msgSC( msg, MSG_INFO);
}
}
@@ -826,22 +826,22 @@
ASSERT( fco != NULL );
//fco is the reference just created or selected from the already existing ones
- bool bound = GetByName(attributes, "isbound") == "yes"; // if bound it does NOT need referees set by hand
+ bool bound = GetByName(attributes, _T("isbound")) == _T("yes"); // if bound it does NOT need referees set by hand
if( needs_target && !bound)
{
- const std::string *s;
- s = GetByNameX(attributes, "closurelibreferred");
+ const std::tstring *s;
+ s = GetByNameX(attributes, _T("closurelibreferred"));
if( s != NULL)
{
CComObjPtr<IMgaObject> obj;
- findObjOnAbsPath( project, *s, obj, "referred object");
+ findObjOnAbsPath( project, *s, obj, _T("referred object"));
if( obj)
COMTHROW( obj.QueryInterface( referred));
else // report error
{
CComBSTR bstr("Reference ");
- bstr.Append( makeLink( fco, makeNameViewable( GetByName( attributes, "closurename")), true));
+ bstr.Append( makeLink( fco, makeNameViewable( GetByName( attributes, _T("closurename"))), true));
bstr.Append(": target not found in library. ");
bstr.Append("Search path used: ");
bstr.Append( makeViewable( *s).c_str());
@@ -852,8 +852,8 @@
if( s == NULL || !referred)
{
// first try to find referred object based on GUID
- std::string guid = GetByName(attributes, "smartReferredGUID");
- std::string path = GetByName(attributes, "closure2referred");
+ std::tstring guid = GetByName(attributes, _T("smartReferredGUID"));
+ std::tstring path = GetByName(attributes, _T("closure2referred"));
if( !guid.empty())
{
@@ -877,14 +877,14 @@
if( !referred && !path.empty())
{
CComObjPtr<IMgaObject> obj;
- findObjOnRelPath( CComObjPtr<IMgaObject>(fco), path, obj, "referred object");
+ findObjOnRelPath( CComObjPtr<IMgaObject>(fco), path, obj, _T("referred object"));
if ( obj)
COMTHROW( obj.QueryInterface( referred));
else // report error
{
CComBSTR bstr("Reference ");
- bstr.Append( makeLink( fco, makeNameViewable( GetByName( attributes, "closurename")), true));
+ bstr.Append( makeLink( fco, makeNameViewable( GetByName( attributes, _T("closurename"))), true));
bstr.Append(": target not found. ");
bstr.Append("Search path used: ");
bstr.Append( makeViewable( path).c_str());
@@ -908,7 +908,7 @@
GetCurrent().object = fco;
if( skip_inner_elements)
- GetCurrent().exstrinfo = "skip";
+ GetCurrent().exstrinfo = _T("skip");
RegisterLookup(attributes, fco);
}
@@ -924,7 +924,7 @@
//ResolveDerivation(attributes, deriv);
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -937,7 +937,7 @@
assignrelid(fco);
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")), true);
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
msg.Append( " set derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -951,7 +951,7 @@
if( !found)
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_SET, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -960,7 +960,7 @@
assignrelid(fco);
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " set created.");
msgSC( msg, MSG_INFO);
}
@@ -980,7 +980,7 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
@@ -988,8 +988,8 @@
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_SET,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_SET,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1011,7 +1011,7 @@
}
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")), true);
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
msg.Append( " set derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -1029,7 +1029,7 @@
assignrelid(fco);
// user info
- CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " set created.");
msgSC( msg, MSG_INFO);
}
@@ -1049,26 +1049,26 @@
}
ASSERT( fco != NULL );
- bool bound = GetByName(attributes, "isbound") == "yes"; // if bound it does NOT need members added by hand
+ bool bound = GetByName(attributes, _T("isbound")) == _T("yes"); // if bound it does NOT need members added by hand
if( needs_members && !bound)
{
std::list< CComObjPtr<IMgaFCO> > members;//slist
// mixed form is used in smartMemberGUIDs
// i.e. {E200BEEB-34BC-4271-A134-AA5728C18124}\\/@../@module_ref1|kind=module_ref|relpos=0
- std::string combineds = GetByName(attributes, "smartMemberGUIDs");
- std::list< std::string> combinedV = tokenizer( combineds, ' ', false);
+ std::tstring combineds = GetByName(attributes, _T("smartMemberGUIDs"));
+ std::list< std::tstring> combinedV = tokenizer( combineds, ' ', false);
// not needed currently, because the combined attr contains a series of <guid\\path>s
- //std::string paths = GetByName(attributes, "closure2members");
- //std::list< std::string> nameV = tokenizer( paths, ' ', false);
+ //std::tstring paths = GetByName(attributes, _T("closure2members"));
+ //std::list< std::tstring> nameV = tokenizer( paths, ' ', false);
- std::list< std::string>::iterator li = combinedV.begin();
+ std::list< std::tstring>::iterator li = combinedV.begin();
for( ; li != combinedV.end(); ++li)
{
CComObjPtr<IMgaFCO> mem;
- std::string guid_s, path_s;
+ std::tstring guid_s, path_s;
if( (*li).size() >= GLOBAL_ID_LEN && (*li)[0] == '{' && (*li)[GLOBAL_ID_LEN-1] == '}' && (*li)[GLOBAL_ID_LEN] == '\\') // a guid form
{
guid_s = (*li).substr( 0, GLOBAL_ID_LEN);
@@ -1076,7 +1076,7 @@
}
else
{
- guid_s = "";
+ guid_s = _T("");
path_s = *li;
}
@@ -1090,7 +1090,7 @@
if( !mem)
{
CComObjPtr<IMgaObject> obj;
- findObjOnRelPath( CComObjPtr<IMgaObject>(fco), path_s, obj, "set member");
+ findObjOnRelPath( CComObjPtr<IMgaObject>(fco), path_s, obj, _T("set member"));
CComObjPtr<IMgaFCO> mem;
if( obj) obj.QueryInterface( mem);
}
@@ -1104,7 +1104,7 @@
else
{
CComBSTR bstr( "Set ");
- bstr.Append( makeLink( fco, makeNameViewable( GetByName(attributes, "closurename")), true));
+ bstr.Append( makeLink( fco, makeNameViewable( GetByName(attributes, _T("closurename"))), true));
bstr.Append( ": member not found. ");
bstr.Append( "Search path used: ");
bstr.Append( makeViewable( path_s).c_str());
@@ -1118,7 +1118,7 @@
CComObjPtr<IMgaSet> mgaset;
COMTHROW( fco.QueryInterface(mgaset) );
- //WAS: if( !(GetByName(attributes, "isbound") == "yes") ) {
+ //WAS: if( !(GetByName(attributes, _T("isbound")) == _T("yes")) ) {
{
COMTHROW( mgaset->RemoveAll() ); //by ZolMol: if not bound then the members are different, remove the inherited members
std::list< CComObjPtr<IMgaFCO> >::iterator i = members.begin();//slist
@@ -1131,7 +1131,7 @@
}
GetCurrent().object = fco;
if( skip_inner_elements)
- GetCurrent().exstrinfo = "skip";
+ GetCurrent().exstrinfo = _T("skip");
RegisterLookup(attributes, fco);
}
@@ -1146,7 +1146,7 @@
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1157,7 +1157,7 @@
COMTHROW( prev->DeriveRootObject(deriv.from, deriv.isinstance, PutOut(model)) );
// user info
- CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, "closurename")), true);
+ CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
msg.Append( " model derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -1171,14 +1171,14 @@
if( !found)
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_MODEL, PutOut(meta)) );
ASSERT( meta != NULL );
COMTHROW( prev->CreateRootObject(meta, PutOut(model)) );
// user info
- CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " model created.");
msgSC( msg, MSG_INFO);
}
@@ -1197,15 +1197,15 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_MODEL,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_MODEL,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1225,7 +1225,7 @@
}
// user info
- CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, "closurename")), true);
+ CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
msg.Append( " model derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -1243,7 +1243,7 @@
assignrelid(model);
// user info
- CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink( model, makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " model created.");
msgSC( msg, MSG_INFO);
}
@@ -1262,12 +1262,12 @@
ASSERT( model != NULL );
GetCurrent().object = model;
- long crid = toLong(GetByName(attributes,"childrelidcntr"));
+ long crid = toLong(GetByName(attributes,_T("childrelidcntr")));
GetCurrent().exnuminfo = crid;
COMTHROW(CComQIPtr<IMgaModel>(model)->put_ChildRelIDCounter(crid));
if( skip_inner_elements)
- GetCurrent().exstrinfo = "skip";
+ GetCurrent().exstrinfo = _T("skip");
RegisterLookup(attributes, model);
}
@@ -1281,7 +1281,7 @@
//ResolveDerivation(attributes, deriv);
(*this.*m_resolveDerFuncPtr)(attributes, deriv);
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
@@ -1291,7 +1291,7 @@
COMTHROW( prev->DeriveRootObject(deriv.from, deriv.isinstance, PutOut(atom)) );
// user info
- CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, "closurename")), true);
+ CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
msg.Append( " atom derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -1305,7 +1305,7 @@
if( !found)
{
CComObjPtr<IMgaMetaFCO> meta;
- COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, "kind"),
+ COMTHROW( resolver->get_KindByStr(prev, PutInBstrAttr(attributes, _T("kind")),
OBJTYPE_ATOM, PutOut(meta)) );
ASSERT( meta != NULL );
@@ -1314,7 +1314,7 @@
assignrelid(atom);
// user info
- CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " atom created.");
msgSC( msg, MSG_INFO);
}
@@ -1332,15 +1332,15 @@
}
else
{
- ASSERT( GetPrevName() == "model" );
+ ASSERT( GetPrevName() == _T("model") );
CComObjPtr<IMgaModel> prev;
GetPrevObj(prev);
CComObjPtr<IMgaMetaRole> role;
COMTHROW( resolver->get_RoleByStr(prev,
- PutInBstrAttr(attributes, "kind"), OBJTYPE_ATOM,
- PutInBstrAttr(attributes, "role"), NULL, PutOut(role)) );
+ PutInBstrAttr(attributes, _T("kind")), OBJTYPE_ATOM,
+ PutInBstrAttr(attributes, _T("role")), NULL, PutOut(role)) );
ASSERT( role != NULL );
if( deriv.from != NULL )
@@ -1360,7 +1360,7 @@
}
// user info
- CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, "closurename")), true);
+ CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, _T("closurename"))), true);
msg.Append( " atom derived from ");
msg.AppendBSTR( makeLink( deriv.from));
msgSC( msg, MSG_INFO);
@@ -1377,7 +1377,7 @@
assignrelid(atom);
// user info
- CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink( atom, makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " atom created.");
msgSC( msg, MSG_INFO);
}
@@ -1398,7 +1398,7 @@
GetCurrent().object = atom;
if( skip_inner_elements)
- GetCurrent().exstrinfo = "skip";
+ GetCurrent().exstrinfo = _T("skip");
RegisterLookup(attributes, atom);
}
@@ -1408,7 +1408,7 @@
bool skip_inner_elements = false;
CComObjPtr<IMgaFolder> folder;
- //if( GetPrevName() == "project" )
+ //if( GetPrevName() == _T("project") )
//{
// COMTHROW( project->get_RootFolder(PutOut(folder)) );
//}
@@ -1418,7 +1418,7 @@
GetPrevObj(prev);
CComObjPtr<IMgaMetaFolder> meta;
- CComBSTR fname( PutInBstrAttr(attributes, "kind"));
+ _bstr_t fname(PutInBstrAttr(attributes, _T("kind")));
VARIANT_BOOL previactmode;
COMTHROW(resolver->get_IsInteractive(&previactmode));
@@ -1439,7 +1439,7 @@
assignrelid(folder);
// user info
- CComBSTR msg = makeLink(CComObjPtr<IMgaObject>(folder), makeNameViewable( GetByName(attributes, "closurename")));
+ CComBSTR msg = makeLink(CComObjPtr<IMgaObject>(folder), makeNameViewable( GetByName(attributes, _T("closurename"))));
msg.Append( " folder created.");
msgSC( msg, MSG_INFO);
}
@@ -1457,9 +1457,9 @@
ASSERT( folder != NULL );
GetCurrent().object = folder;
if( skip_inner_elements)
- GetCurrent().exstrinfo = "skip";
+ GetCurrent().exstrinfo = _T("skip");
- long crid = toLong(GetByName(attributes,"childrelidcntr"));
+ long crid = toLong(GetByName(attributes,_T("childrelidcntr")));
GetCurrent().exnuminfo = crid;
COMTHROW(folder->put_ChildRelIDCounter(crid));
@@ -1470,24 +1470,23 @@
{
CComObjPtr<IMgaRegNode> regnode;
- CComBstrObj name;
- CopyTo(GetByName(attributes, "name"), name);
+ _bstr_t name = GetByName(attributes, _T("name")).c_str();
- if( GetPrevName() == "regnode" )
+ if( GetPrevName() == _T("regnode") )
{
CComObjPtr<IMgaRegNode> prev;
GetPrevObj(prev);
COMTHROW( prev->get_SubNodeByName(name, PutOut(regnode)) );
}
- else if( GetPrevName() == "folder" )
+ else if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> prev;
GetPrevObj(prev);
COMTHROW( prev->get_RegistryNode(name, PutOut(regnode)) );
}
- else if( GetPrevName() == "attribute" )
+ else if( GetPrevName() == _T("attribute") )
{
CComObjPtr<IMgaAttribute> prev;
GetPrevObj(prev);
@@ -1509,17 +1508,17 @@
// if MERGE case (skip) and if value is defined HERE, then skip it (don't touch) its value
// but the subnodes may change! even in this case if UNDEF, or they may be created if they not exist
- if( GetPrevious().exstrinfo == "skip" && st == ATTSTATUS_HERE)
+ if( GetPrevious().exstrinfo == _T("skip") && st == ATTSTATUS_HERE)
{
- GetCurrent().exstrinfo = "skip"; // might have subelements so skip those as well
+ GetCurrent().exstrinfo = _T("skip"); // might have subelements so skip those as well
GetCurrent().object = regnode;
return;
}
- if( GetByNameX(attributes, "status") == NULL )
+ if( GetByNameX(attributes, _T("status")) == NULL )
COMTHROW( regnode->put_Value(NULL) );
- if( GetByName(attributes, "isopaque") == "yes" )
+ if( GetByName(attributes, _T("isopaque")) == _T("yes") )
COMTHROW( regnode->put_Opacity(VARIANT_TRUE) );
GetCurrent().object = regnode;
@@ -1527,7 +1526,7 @@
void CMgaParser::EndSCRegNode()
{
- if( GetPrevious().exstrinfo == "skip") // if merge return, deal only with new regnodes
+ if( GetPrevious().exstrinfo == _T("skip")) // if merge return, deal only with new regnodes
return;
CComObjPtr<IMgaRegNode> fresh_regnode;
@@ -1567,7 +1566,7 @@
CComPtr<IMgaRegNode> subnd;
COMTHROW( fresh_regnode->get_SubNodeByName( CComBSTR(PREV_ID_STR), &subnd));
- if( subnd) COMTHROW( subnd->put_Value( PutInBstr( guid)) );
+ if( subnd) COMTHROW( subnd->put_Value(guid) );
}
@@ -1579,7 +1578,7 @@
GetPrevObj(fco);
CComObjPtr<IMgaMetaAttribute> metaattr;
- HRESULT hr = resolver->get_AttrByStr(fco, PutInBstrAttr(attributes, "kind"), PutOut(metaattr));
+ HRESULT hr = resolver->get_AttrByStr(fco, PutInBstrAttr(attributes, _T("kind")), PutOut(metaattr));
if( FAILED(hr) || metaattr == NULL )
{
@@ -1596,13 +1595,13 @@
COMTHROW( attr->get_Status( &st));
// in case parent is merged (skipped) and attr is defined HERE, skip inner contents:
- if( GetPrevious().exstrinfo == "skip" && st == ATTSTATUS_HERE)
+ if( GetPrevious().exstrinfo == _T("skip") && st == ATTSTATUS_HERE)
{
- GetCurrent().exstrinfo = "skip"; // might have subelements so skip those as well
+ GetCurrent().exstrinfo = _T("skip"); // might have subelements so skip those as well
return;
}
- if( GetByNameX(attributes, "status") == NULL )
+ if( GetByNameX(attributes, _T("status")) == NULL )
{
// we set some value, and from the "value" element we set the actual value
@@ -1614,15 +1613,15 @@
void CMgaParser::EndSCName()
{
- if( GetPrevious().exstrinfo == "skip") // has no sub elements
+ if( GetPrevious().exstrinfo == _T("skip")) // has no sub elements
return;
- //if( GetPrevName() == "project" )
+ //if( GetPrevName() == _T("project") )
//{
// COMTHROW( project->put_Name(PutInBstr(GetCurrData())) );
//}
//else
- if( GetPrevName() == "constraint" )
+ if( GetPrevName() == _T("constraint") )
{
constraint_name = GetCurrData();
}
@@ -1636,19 +1635,19 @@
void CMgaParser::EndSCValue()
{
- if( GetPrevious().exstrinfo == "skip") // has no sub elements
+ if( GetPrevious().exstrinfo == _T("skip")) // has no sub elements
return;
// skip if the object is ignored
if( GetPrevious().object == NULL )
return;
- if( GetPrevName() == "constraint" )
+ if( GetPrevName() == _T("constraint") )
{
constraint_value = GetCurrData();
}
else
- if( GetPrevName() == "regnode" )
+ if( GetPrevName() == _T("regnode") )
{
CComObjPtr<IMgaRegNode> regnode;
GetPrevObj(regnode);
@@ -1661,7 +1660,7 @@
if( status == 0)
COMTHROW( regnode->put_Value(PutInBstr(GetCurrData())) );
}
- else if( GetPrevName() == "attribute" )
+ else if( GetPrevName() == _T("attribute") )
{
CComObjPtr<IMgaAttribute> attr;
GetPrevObj(attr);
@@ -1687,16 +1686,16 @@
case ATTVAL_STRING:
case ATTVAL_ENUM:
case ATTVAL_DYNAMIC:
- CopyTo(GetCurrData(), v);
+ v = GetCurrData().c_str();
break;
case ATTVAL_INTEGER:
- CopyTo(GetCurrData(), v);
+ v = GetCurrData().c_str();
COMTHROW( v.ChangeType(VT_I4) );
break;
case ATTVAL_DOUBLE:
- CopyTo(GetCurrData(), v);
+ v = GetCurrData().c_str();
COMTHROW( v.ChangeType(VT_R8) );
break;
@@ -1729,15 +1728,15 @@
void CMgaParser::EndSCConstraint()
{
- if( GetPrevious().exstrinfo == "skip")
+ if( GetPrevious().exstrinfo == _T("skip"))
{
- GetCurrent().exstrinfo = "skip"; // might have subelements, so skip those as well
+ GetCurrent().exstrinfo = _T("skip"); // might have subelements, so skip those as well
return;
}
CComObjPtr<IMgaConstraint> constraint;
- if( GetPrevName() == "folder" )
+ if( GetPrevName() == _T("folder") )
{
CComObjPtr<IMgaFolder> folder;
GetPrevObj(folder);
Modified: trunk/GME/Parser/Parser.vcxproj
==============================================================================
--- trunk/GME/Parser/Parser.vcxproj Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/Parser.vcxproj Thu Mar 31 12:49:49 2011 (r1235)
@@ -23,13 +23,13 @@
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<UseOfAtl>Dynamic</UseOfAtl>
- <CharacterSet>MultiByte</CharacterSet>
+ <CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
Modified: trunk/GME/Parser/StdAfx.h
==============================================================================
--- trunk/GME/Parser/StdAfx.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/StdAfx.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -40,6 +40,33 @@
typedef IMgaConstraint IMgaMetaConstraint;
typedef IMgaConstraints IMgaMetaConstraints;
+#include <string>
+namespace std {
+#ifdef UNICODE
+ typedef wstring tstring;
+#else
+ typedef string tstring;
+#endif
+}
+static void CopyTo(const BSTR from, std::wstring& to)
+{
+ if (from != NULL) {
+ to = from;
+ } else {
+ to = L"";
+ }
+}
+#include "comutil.h"
+#include "comdef.h"
+static _bstr_t PutInBstr(const std::wstring& str)
+{
+ return _bstr_t(str.c_str());
+}
+static _bstr_t PutInBstr(const std::string& str)
+{
+ return _bstr_t(str.c_str());
+}
+
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
Modified: trunk/GME/Parser/Transcoder.cpp
==============================================================================
--- trunk/GME/Parser/Transcoder.cpp Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/Transcoder.cpp Thu Mar 31 12:49:49 2011 (r1235)
@@ -42,7 +42,7 @@
if ( is_open()) close();
}
-void Transcoder::init( const char * f, const char * const encodingName)
+void Transcoder::init( const TCHAR * f, const TCHAR * const encodingName)
{
ASSERT( !m_pFormatter);
@@ -59,10 +59,12 @@
ASSERT( !is_open() );
- open( f, std::ios::out | std::ios::trunc);
+ open(f, std::ios::out | std::ios::trunc | std::ios::binary);
if( fail() || !is_open() )
HR_THROW(E_INVALID_FILENAME);
+ // write BOM
+ *m_pFormatter << (XMLCh) 0xFEFF;
*m_pFormatter << gXMLDecl1 << m_pFormatter->getEncodingName() << gXMLDecl2; //will dump '<?xml version="1.0" encoding="UTF-8"?>
}
@@ -104,7 +106,7 @@
operator<<( fUnicodeForm);
- delete fUnicodeForm;
+ XMLString::release(&fUnicodeForm);
return *this;
}
@@ -112,7 +114,7 @@
Transcoder&
Transcoder::operator <<( const char toWrite)
{
- char tmp[2] = { toWrite, 0 };
+ wchar_t tmp[2] = { toWrite, 0 };
operator<<( tmp);
@@ -120,7 +122,7 @@
}
Transcoder&
-Transcoder::operator <<( const std::string& toWrite)
+Transcoder::operator <<( const std::tstring& toWrite)
{
operator<<( toWrite.c_str());
Modified: trunk/GME/Parser/Transcoder.h
==============================================================================
--- trunk/GME/Parser/Transcoder.h Thu Mar 31 10:17:24 2011 (r1234)
+++ trunk/GME/Parser/Transcoder.h Thu Mar 31 12:49:49 2011 (r1235)
@@ -16,7 +16,7 @@
Transcoder();
~Transcoder();
- void init( const char *, const char * const);
+ void init( const TCHAR *, const TCHAR * const);
void finalize();
enum Modes
{
@@ -33,7 +33,7 @@
Transcoder& operator << ( const XMLCh* const toWrite);
Transcoder& operator << ( const char * const toWrite);
Transcoder& operator << ( const char toWrite);
- Transcoder& operator << ( const std::string& toWrite);
+ Transcoder& operator << ( const std::tstring& toWrite);
private :
XMLFormatter* m_pFormatter;
More information about the gme-commit
mailing list