Some classes of console made UNICODE-compatible
authorVictor Kirhenshtein <victor@netxms.org>
Sat, 23 Sep 2006 20:58:55 +0000 (20:58 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Sat, 23 Sep 2006 20:58:55 +0000 (20:58 +0000)
23 files changed:
src/console/win32/ActionEditor.cpp
src/console/win32/ActionSelDlg.cpp
src/console/win32/AgentCfgDlg.cpp
src/console/win32/AgentCfgEditor.cpp
src/console/win32/AlarmBrowser.cpp
src/console/win32/CondPropsGeneral.cpp
src/console/win32/ControlPanel.cpp
src/console/win32/ControlPanel.h
src/console/win32/CreateNodeDlg.cpp
src/console/win32/CreateObjectDlg.cpp
src/console/win32/DCIDataView.cpp
src/console/win32/DataCollectionEditor.cpp
src/console/win32/DebugFrame.cpp
src/console/win32/DebugFrame.h
src/console/win32/EventBrowser.cpp
src/console/win32/MIBBrowserDlg.cpp
src/console/win32/comm.cpp
src/console/win32/globals.cpp
src/console/win32/globals.h
src/console/win32/nxcon.cpp
src/console/win32/nxcon.dsp
src/console/win32/nxcon.h
src/console/win32/tools.cpp

index e4182b6..8bd38fa 100644 (file)
@@ -89,10 +89,10 @@ int CActionEditor::OnCreate(LPCREATESTRUCT lpCreateStruct)
    m_wndListCtrl.SetImageList(&m_imageList, LVSIL_SMALL);
 
    // Setup columns
-   m_wndListCtrl.InsertColumn(0, "Name", LVCFMT_LEFT, 100);
-   m_wndListCtrl.InsertColumn(1, "Type", LVCFMT_LEFT, 70);
-   m_wndListCtrl.InsertColumn(2, "Recipient", LVCFMT_LEFT, 150);
-   m_wndListCtrl.InsertColumn(3, "Data", LVCFMT_LEFT, 350);
+   m_wndListCtrl.InsertColumn(0, _T("Name"), LVCFMT_LEFT, 100);
+   m_wndListCtrl.InsertColumn(1, _T("Type"), LVCFMT_LEFT, 70);
+   m_wndListCtrl.InsertColumn(2, _T("Recipient"), LVCFMT_LEFT, 150);
+   m_wndListCtrl.InsertColumn(3, _T("Data"), LVCFMT_LEFT, 350);
 
    PostMessage(WM_COMMAND, ID_VIEW_REFRESH, 0);
 
@@ -141,7 +141,7 @@ void CActionEditor::OnSize(UINT nType, int cx, int cy)
 
 void CActionEditor::OnClose() 
 {
-   DoRequestArg1(NXCUnlockActionDB, g_hSession, "Unlocking action configuration database...");
+   DoRequestArg1(NXCUnlockActionDB, g_hSession, _T("Unlocking action configuration database..."));
        CMDIChildWnd::OnClose();
 }
 
@@ -256,7 +256,7 @@ void CActionEditor::OnActionNew()
    if (dlg.DoModal() == IDOK)
    {
       dwResult = DoRequestArg3(NXCCreateAction, g_hSession, (void *)((LPCTSTR)dlg.m_strName), 
-                               &dwActionId, "Creating new action...");
+                               &dwActionId, _T("Creating new action..."));
       if (dwResult == RCC_SUCCESS)
       {
          LockActions();
@@ -274,7 +274,7 @@ void CActionEditor::OnActionNew()
             g_pActionList[i].dwId = dwActionId;
             g_pActionList[i].iType = ACTION_EXEC;
             nx_strncpy(g_pActionList[i].szName, dlg.m_strName, MAX_OBJECT_NAME);
-            g_pActionList[i].pszData = strdup("");
+            g_pActionList[i].pszData = _tcsdup(_T(""));
          }
 
          iItem = AddItem(&g_pActionList[i]);
@@ -285,7 +285,7 @@ void CActionEditor::OnActionNew()
       }
       else
       {
-         theApp.ErrorBox(dwResult, "Error creating action: %s");
+         theApp.ErrorBox(dwResult, _T("Error creating action: %s"));
       }
    }
 }
@@ -328,19 +328,20 @@ void CActionEditor::OnActionProperties()
                memset(&action, 0, sizeof(NXC_ACTION));
                action.dwId = m_wndListCtrl.GetItemData(iItem);
                action.iType = dlg.m_iType;
-               action.pszData = strdup((LPCTSTR)dlg.m_strData);
+               action.pszData = _tcsdup((LPCTSTR)dlg.m_strData);
                nx_strncpy(action.szEmailSubject, (LPCTSTR)dlg.m_strSubject, MAX_EMAIL_SUBJECT_LEN);
                nx_strncpy(action.szName, (LPCTSTR)dlg.m_strName, MAX_OBJECT_NAME);
                nx_strncpy(action.szRcptAddr, (LPCTSTR)dlg.m_strRcpt, MAX_RCPT_ADDR_LEN);
 
-               dwResult = DoRequestArg2(NXCModifyAction, g_hSession, &action, "Updating action configuration...");
+               dwResult = DoRequestArg2(NXCModifyAction, g_hSession, &action,
+                                        _T("Updating action configuration..."));
                if (dwResult == RCC_SUCCESS)
                {
                   ReplaceItem(iItem, &action);
                }
                else
                {
-                  theApp.ErrorBox(dwResult, "Error updating action configuration: %s");
+                  theApp.ErrorBox(dwResult, _T("Error updating action configuration: %s"));
                }
                free(action.pszData);
             }
@@ -348,7 +349,7 @@ void CActionEditor::OnActionProperties()
          else
          {
             UnlockActions();
-            MessageBox("Internal error: cannot find requested action entry in list", "Internal Error", MB_OK | MB_ICONSTOP);
+            MessageBox(_T("Internal error: cannot find requested action entry in list"), _T("Internal Error"), MB_OK | MB_ICONSTOP);
          }
       }
    }
index ccc9b0f..1e2e2c7 100644 (file)
@@ -72,8 +72,8 @@ BOOL CActionSelDlg::OnInitDialog()
    // Setup list control
    m_wndListCtrl.SetImageList(&m_imageList, LVSIL_SMALL);
    m_wndListCtrl.GetClientRect(&rect);
-   m_wndListCtrl.InsertColumn(0, "Name", LVCFMT_LEFT, 200);
-   m_wndListCtrl.InsertColumn(1, "Type", LVCFMT_LEFT, 
+   m_wndListCtrl.InsertColumn(0, _T("Name"), LVCFMT_LEFT, 200);
+   m_wndListCtrl.InsertColumn(1, _T("Type"), LVCFMT_LEFT, 
                               rect.right - 200 - GetSystemMetrics(SM_CXVSCROLL));
    m_wndListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
        
@@ -118,7 +118,8 @@ void CActionSelDlg::OnOK()
    }
    else
    {
-      MessageBox("You should select at least one action", "Warning", MB_OK | MB_ICONEXCLAMATION);
+      MessageBox(_T("You should select at least one action"),
+                 _T("Warning"), MB_OK | MB_ICONEXCLAMATION);
    }
 }
 
index 4fbed7d..35fab70 100644 (file)
@@ -69,8 +69,8 @@ BOOL CAgentCfgDlg::OnInitDialog()
    m_wndEditText.Attach(::GetDlgItem(m_hWnd, IDC_EDIT_CONFIG));
    m_wndEditText.SetDefaults();
    m_wndEditText.SetText((LPCTSTR)m_strText);
-   m_wndEditText.LoadLexer(_T("nxlexer.dll"));
-   m_wndEditText.SetLexer(_T("nxconfig"));
+   m_wndEditText.LoadLexer("nxlexer.dll");
+   m_wndEditText.SetLexer("nxconfig");
    m_wndEditText.SetKeywords(0, g_szConfigKeywords);
        
        return TRUE;
index 1dfb8c4..7280abe 100644 (file)
@@ -126,8 +126,8 @@ int CAgentCfgEditor::OnCreate(LPCREATESTRUCT lpCreateStruct)
 
    // Create edit control
    m_wndEditor.Create(_T("Edit"), WS_CHILD | WS_VISIBLE, rect, this, ID_EDIT_CTRL);
-   m_wndEditor.LoadLexer(_T("nxlexer.dll"));
-   m_wndEditor.SetLexer(_T("nxconfig"));
+   m_wndEditor.LoadLexer("nxlexer.dll");
+   m_wndEditor.SetLexer("nxconfig");
    m_wndEditor.SetKeywords(0, g_szConfigKeywords);
 
    m_dwTimer = SetTimer(1, 1000, NULL);
index d9bbdd2..e36eef5 100644 (file)
@@ -388,15 +388,15 @@ void CAlarmBrowser::UpdateListItem(int nItem, NXC_ALARM *pAlarm)
    m_wndListCtrl.SetItemText(nItem, 2, pObject->szName);
    m_wndListCtrl.SetItemText(nItem, 3, pAlarm->szMessage);
 
-   sprintf(szBuffer, "%d", pAlarm->dwRepeatCount);
+   _stprintf(szBuffer, _T("%d"), pAlarm->dwRepeatCount);
    m_wndListCtrl.SetItemText(nItem, 4, szBuffer);
 
    ptm = localtime((const time_t *)&pAlarm->dwCreationTime);
-   strftime(szBuffer, 32, "%d-%b-%Y %H:%M:%S", ptm);
+   _tcsftime(szBuffer, 32, _T("%d-%b-%Y %H:%M:%S"), ptm);
    m_wndListCtrl.SetItemText(nItem, 5, szBuffer);
    
    ptm = localtime((const time_t *)&pAlarm->dwLastChangeTime);
-   strftime(szBuffer, 32, "%d-%b-%Y %H:%M:%S", ptm);
+   _tcsftime(szBuffer, 32, _T("%d-%b-%Y %H:%M:%S"), ptm);
    m_wndListCtrl.SetItemText(nItem, 6, szBuffer);
 }
 
index 8647140..9b8a407 100644 (file)
@@ -106,7 +106,7 @@ void CCondPropsGeneral::OnOK()
 
        CPropertyPage::OnOK();
 
-   m_pUpdate->pszName = (char *)((LPCTSTR)m_strName);
+   m_pUpdate->pszName = (TCHAR *)((LPCTSTR)m_strName);
 
    // Active status
    m_wndComboActive.GetWindowText(szBuffer, 256);
index bd0d829..a012e7a 100644 (file)
@@ -62,7 +62,7 @@ static int CALLBACK CompareItems(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSo
    CListCtrl *pListCtrl = (CListCtrl *)lParamSort;
    CString strItem1 = pListCtrl->GetItemText(lParam1, 0);
    CString strItem2 = pListCtrl->GetItemText(lParam2, 0);
-   return strcmp(strItem2, strItem1);
+   return _tcscmp(strItem2, strItem1);
 }
 
 
@@ -105,19 +105,19 @@ int CControlPanel::OnCreate(LPCREATESTRUCT lpCreateStruct)
    m_wndListCtrl.SetImageList(m_pImageList, LVSIL_NORMAL);
 
    // Populate list with items
-   AddItem("Event Processing Policy", 0, ID_CONTROLPANEL_EVENTPOLICY);
-   AddItem("Users", 1, ID_CONTROLPANEL_USERS);
-   AddItem("Events", 2, ID_CONTROLPANEL_EVENTS);
-   AddItem("Actions", 3, ID_CONTROLPANEL_ACTIONS);
-   AddItem("SNMP Traps", 4, ID_CONTROLPANEL_SNMPTRAPS);
-   AddItem("Agent Packages", 5, ID_CONTROLPANEL_AGENTPKG);
-   AddItem("Server Configuration", 6, ID_CONTROLPANEL_SERVERCFG);
-   //AddItem("Log Processing", 7, ID_CONTROLPANEL_LOGPROCESSING);
-   AddItem("Object Tools", 8, ID_CONTROLPANEL_OBJECTTOOLS);
-   AddItem("Script Library", 9, ID_CONTROLPANEL_SCRIPTLIBRARY);
-   AddItem("Modules", 10, ID_CONTROLPANEL_MODULES);
-   //AddItem("View Builder", 10, ID_CONTROLPANEL_VIEWBUILDER);
-   AddItem("Agent Configurations", 11, ID_CONTROLPANEL_AGENTCONFIGS);
+   AddItem(_T("Event Processing Policy"), 0, ID_CONTROLPANEL_EVENTPOLICY);
+   AddItem(_T("Users"), 1, ID_CONTROLPANEL_USERS);
+   AddItem(_T("Events"), 2, ID_CONTROLPANEL_EVENTS);
+   AddItem(_T("Actions"), 3, ID_CONTROLPANEL_ACTIONS);
+   AddItem(_T("SNMP Traps"), 4, ID_CONTROLPANEL_SNMPTRAPS);
+   AddItem(_T("Agent Packages"), 5, ID_CONTROLPANEL_AGENTPKG);
+   AddItem(_T("Server Configuration"), 6, ID_CONTROLPANEL_SERVERCFG);
+   //AddItem(_T("Log Processing"), 7, ID_CONTROLPANEL_LOGPROCESSING);
+   AddItem(_T("Object Tools"), 8, ID_CONTROLPANEL_OBJECTTOOLS);
+   AddItem(_T("Script Library"), 9, ID_CONTROLPANEL_SCRIPTLIBRARY);
+   AddItem(_T("Modules"), 10, ID_CONTROLPANEL_MODULES);
+   //AddItem(_T("View Builder"), 10, ID_CONTROLPANEL_VIEWBUILDER);
+   AddItem(_T("Agent Configurations"), 11, ID_CONTROLPANEL_AGENTCONFIGS);
 
    m_wndListCtrl.SortItems(CompareItems, (DWORD)&m_wndListCtrl);
 
@@ -193,7 +193,7 @@ void CControlPanel::OnListViewDoubleClick(NMITEMACTIVATE *pInfo, LRESULT *pResul
 // Add new item to list
 //
 
-void CControlPanel::AddItem(char *pszName, int iImage, WPARAM wParam)
+void CControlPanel::AddItem(TCHAR *pszName, int iImage, WPARAM wParam)
 {
    int iIndex;
 
index 2f875d9..4c003f8 100644 (file)
@@ -31,7 +31,7 @@ public:
 
 // Implementation
 protected:
-       void AddItem(char *pszName, int iImage, WPARAM wParam);
+       void AddItem(TCHAR *pszName, int iImage, WPARAM wParam);
        afx_msg void OnListViewDoubleClick(NMITEMACTIVATE *pInfo, LRESULT* pResult);
        CImageList *m_pImageList;
        CListCtrl m_wndListCtrl;
index 5851fb8..4298b09 100644 (file)
@@ -119,11 +119,19 @@ void CCreateNodeDlg::OnOK()
 
 void CCreateNodeDlg::OnButtonResolve() 
 {
-   TCHAR szHostName[256];
+   char szHostName[256];
    struct hostent *hs;
    DWORD dwAddr = INADDR_NONE;
 
+#ifdef UNICODE
+   WCHAR wszTemp[256];
+
+   m_wndObjectName.GetWindowText(wszTemp, 256);
+   WideCharToMultiByte(CP_ACP, WC_COMPOSITECHECK | WC_DEFAULTCHAR, wszTemp, -1,
+                       szHostName, 256, NULL, NULL);
+#else
    m_wndObjectName.GetWindowText(szHostName, 256);
+#endif
    hs = gethostbyname(szHostName);
    if (hs != NULL)
    {
index 2025c6f..6f98b4d 100644 (file)
@@ -97,10 +97,10 @@ void CCreateObjectDlg::UpdateParentInfo()
 {
    if (m_pParentObject != NULL)
    {
-      char szBuffer[16];
+      TCHAR szBuffer[16];
 
       m_wndStaticName.SetWindowText(m_pParentObject->szName);
-      sprintf(szBuffer, "ID: %d", m_pParentObject->dwId);
+      _stprintf(szBuffer, _T("ID: %d"), m_pParentObject->dwId);
       m_wndStaticId.SetWindowText(szBuffer);
       m_wndParentIcon.SetIcon(
          g_pObjectNormalImageList->ExtractIcon(
@@ -108,7 +108,7 @@ void CCreateObjectDlg::UpdateParentInfo()
    }
    else
    {
-      m_wndStaticName.SetWindowText("");
-      m_wndStaticId.SetWindowText("<no parent>");
+      m_wndStaticName.SetWindowText(_T(""));
+      m_wndStaticId.SetWindowText(_T("<no parent>"));
    }
 }
index 12c2bb3..b567b67 100644 (file)
@@ -97,8 +97,8 @@ int CDCIDataView::OnCreate(LPCREATESTRUCT lpCreateStruct)
    m_wndListCtrl.SetHoverTime(0x7FFFFFFF);
 
    // Setup columns
-   m_wndListCtrl.InsertColumn(0, "Timestamp", LVCFMT_LEFT, 130);
-   m_wndListCtrl.InsertColumn(1, "Value", LVCFMT_LEFT, 
+   m_wndListCtrl.InsertColumn(0, _T("Timestamp"), LVCFMT_LEFT, 130);
+   m_wndListCtrl.InsertColumn(1, _T("Value"), LVCFMT_LEFT, 
                               rect.right - 130 - GetSystemMetrics(SM_CXVSCROLL));
 
    DisplayScale();
@@ -181,22 +181,22 @@ void CDCIDataView::OnViewRefresh()
                switch(pData->wDataType)
                {
                   case DCI_DT_INT:
-                     sprintf(szBuffer, "%d", pRow->value.dwInt32 / m_nScale);
+                     _stprintf(szBuffer, _T("%d"), pRow->value.dwInt32 / m_nScale);
                      break;
                   case DCI_DT_UINT:
-                     sprintf(szBuffer, "%u", pRow->value.dwInt32 / m_nScale);
+                     _stprintf(szBuffer, _T("%u"), pRow->value.dwInt32 / m_nScale);
                      break;
                   case DCI_DT_INT64:
-                     sprintf(szBuffer, "%I64d", pRow->value.qwInt64 / m_nScale);
+                     _stprintf(szBuffer, _T("%I64d"), pRow->value.qwInt64 / m_nScale);
                      break;
                   case DCI_DT_UINT64:
-                     sprintf(szBuffer, "%I64u", pRow->value.qwInt64 / m_nScale);
+                     _stprintf(szBuffer, _T("%I64u"), pRow->value.qwInt64 / m_nScale);
                      break;
                   case DCI_DT_FLOAT:
-                     sprintf(szBuffer, "%f", pRow->value.dFloat / m_nScale);
+                     _stprintf(szBuffer, _T("%f"), pRow->value.dFloat / m_nScale);
                      break;
                   default:
-                     sprintf(szBuffer, "Unknown data type (%d)", pData->wDataType);
+                     _stprintf(szBuffer, _T("Unknown data type (%d)"), pData->wDataType);
                      break;
                }
                m_wndListCtrl.SetItemText(iItem, 1, szBuffer);
@@ -204,14 +204,14 @@ void CDCIDataView::OnViewRefresh()
          }
          inc_ptr(pRow, pData->wRowSize, NXC_DCI_ROW);
       }
-      sprintf(szBuffer, "%d rows", pData->dwNumRows);
+      _stprintf(szBuffer, _T("%d rows"), pData->dwNumRows);
       m_wndStatusBar.SetText(szBuffer, 0, 0);
       NXCDestroyDCIData(pData);
    }
    else
    {
       theApp.ErrorBox(dwResult, _T("Unable to retrieve colected data: %s"));
-      iItem = m_wndListCtrl.InsertItem(0, "");
+      iItem = m_wndListCtrl.InsertItem(0, _T(""));
       if (iItem != -1)
          m_wndListCtrl.SetItemText(iItem, 1, _T("ERROR LOADING DATA FROM SERVER"));
    }
@@ -229,14 +229,14 @@ void CDCIDataView::OnListViewItemChange(LPNMLISTVIEW pNMHDR, LRESULT *pResult)
       {
          if (pNMHDR->uNewState & LVIS_FOCUSED)
          {
-            char szBuffer[64];
+            TCHAR szBuffer[64];
 
-            sprintf(szBuffer, "Current row: %d", pNMHDR->iItem + 1);
+            _stprintf(szBuffer, _T("Current row: %d"), pNMHDR->iItem + 1);
             m_wndStatusBar.SetText(szBuffer, 1, 0);
          }
          else
          {
-            m_wndStatusBar.SetText("", 1, 0);
+            m_wndStatusBar.SetText(_T(""), 1, 0);
          }
       }
 }
index e30e1a9..bc19349 100644 (file)
@@ -39,16 +39,16 @@ static int CALLBACK ItemCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lPara
          iResult = COMPARE_NUMBERS(lParam1, lParam2);
          break;
       case 1:  // Source
-         iResult = stricmp(g_pszItemOrigin[pItem1->iSource], g_pszItemOrigin[pItem2->iSource]);
+         iResult = _tcsicmp(g_pszItemOrigin[pItem1->iSource], g_pszItemOrigin[pItem2->iSource]);
          break;
       case 2:  // Description
-         iResult = stricmp(pItem1->szDescription, pItem2->szDescription);
+         iResult = _tcsicmp(pItem1->szDescription, pItem2->szDescription);
          break;
       case 3:  // Parameter
-         iResult = stricmp(pItem1->szName, pItem2->szName);
+         iResult = _tcsicmp(pItem1->szName, pItem2->szName);
          break;
       case 4:  // Data type
-         iResult = stricmp(g_pszItemDataType[pItem1->iDataType], g_pszItemDataType[pItem2->iDataType]);
+         iResult = _tcsicmp(g_pszItemDataType[pItem1->iDataType], g_pszItemDataType[pItem2->iDataType]);
          break;
       case 5:  // Polling interval
          iResult = COMPARE_NUMBERS(pItem1->iPollingInterval, pItem2->iPollingInterval);
@@ -62,8 +62,8 @@ static int CALLBACK ItemCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lPara
       case 8:  // Template
          pObject1 = NXCFindObjectById(g_hSession, pItem1->dwTemplateId);
          pObject2 = NXCFindObjectById(g_hSession, pItem2->dwTemplateId);
-         iResult = stricmp((pObject1 != NULL) ? pObject1->szName : _T(""),
-                           (pObject2 != NULL) ? pObject2->szName : _T(""));
+         iResult = _tcsicmp((pObject1 != NULL) ? pObject1->szName : _T(""),
+                            (pObject2 != NULL) ? pObject2->szName : _T(""));
          break;
       default:
          break;
@@ -188,15 +188,15 @@ int CDataCollectionEditor::OnCreate(LPCREATESTRUCT lpCreateStruct)
    m_wndListCtrl.SetImageList(&m_imageList, LVSIL_SMALL);
 
    // Setup columns
-   m_wndListCtrl.InsertColumn(0, "ID", LVCFMT_LEFT, 55);
-   m_wndListCtrl.InsertColumn(1, "Source", LVCFMT_LEFT, 80);
-   m_wndListCtrl.InsertColumn(2, "Description", LVCFMT_LEFT, 150);
-   m_wndListCtrl.InsertColumn(3, "Parameter", LVCFMT_LEFT, 150);
-   m_wndListCtrl.InsertColumn(4, "Data type", LVCFMT_LEFT, 80);
-   m_wndListCtrl.InsertColumn(5, "Polling Interval", LVCFMT_LEFT, 80);
-   m_wndListCtrl.InsertColumn(6, "Retention Time", LVCFMT_LEFT, 80);
-   m_wndListCtrl.InsertColumn(7, "Status", LVCFMT_LEFT, 90);
-   m_wndListCtrl.InsertColumn(8, "Template", LVCFMT_LEFT, 120);
+   m_wndListCtrl.InsertColumn(0, _T("ID"), LVCFMT_LEFT, 55);
+   m_wndListCtrl.InsertColumn(1, _T("Source"), LVCFMT_LEFT, 80);
+   m_wndListCtrl.InsertColumn(2, _T("Description"), LVCFMT_LEFT, 150);
+   m_wndListCtrl.InsertColumn(3, _T("Parameter"), LVCFMT_LEFT, 150);
+   m_wndListCtrl.InsertColumn(4, _T("Data type"), LVCFMT_LEFT, 80);
+   m_wndListCtrl.InsertColumn(5, _T("Polling Interval"), LVCFMT_LEFT, 80);
+   m_wndListCtrl.InsertColumn(6, _T("Retention Time"), LVCFMT_LEFT, 80);
+   m_wndListCtrl.InsertColumn(7, _T("Status"), LVCFMT_LEFT, 90);
+   m_wndListCtrl.InsertColumn(8, _T("Template"), LVCFMT_LEFT, 120);
 
    // Fill list view with data
    for(i = 0; i < m_pItemList->dwNumItems; i++)
@@ -261,9 +261,9 @@ void CDataCollectionEditor::OnSize(UINT nType, int cx, int cy)
 int CDataCollectionEditor::AddListItem(NXC_DCI *pItem)
 {
    int iItem;
-   char szBuffer[32];
+   TCHAR szBuffer[32];
 
-   sprintf(szBuffer, "%d", pItem->dwId);
+   _stprintf(szBuffer, _T("%d"), pItem->dwId);
    iItem = m_wndListCtrl.InsertItem(0x7FFFFFFF, szBuffer);
    if (iItem != -1)
    {
@@ -280,16 +280,16 @@ int CDataCollectionEditor::AddListItem(NXC_DCI *pItem)
 
 void CDataCollectionEditor::UpdateListItem(int iItem, NXC_DCI *pItem)
 {
-   char szBuffer[32];
+   TCHAR szBuffer[32];
    NXC_OBJECT *pObject;
 
    m_wndListCtrl.SetItemText(iItem, 1, g_pszItemOrigin[pItem->iSource]);
    m_wndListCtrl.SetItemText(iItem, 2, pItem->szDescription);
    m_wndListCtrl.SetItemText(iItem, 3, pItem->szName);
    m_wndListCtrl.SetItemText(iItem, 4, g_pszItemDataType[pItem->iDataType]);
-   sprintf(szBuffer, "%d sec", pItem->iPollingInterval);
+   _stprintf(szBuffer, _T("%d sec"), pItem->iPollingInterval);
    m_wndListCtrl.SetItemText(iItem, 5, szBuffer);
-   sprintf(szBuffer, "%d days", pItem->iRetentionTime);
+   _stprintf(szBuffer, _T("%d days"), pItem->iRetentionTime);
    m_wndListCtrl.SetItemText(iItem, 6, szBuffer);
    m_wndListCtrl.SetItemText(iItem, 7, g_pszItemStatus[pItem->iStatus]);
    if (pItem->dwTemplateId != 0)
@@ -402,7 +402,7 @@ void CDataCollectionEditor::OnItemEdit()
             else
             {
                free(item.pThresholdList);
-               theApp.ErrorBox(dwResult, "Unable to update data collection item: %s");
+               theApp.ErrorBox(dwResult, _T("Unable to update data collection item: %s"));
             }
          }
          else
@@ -459,7 +459,7 @@ BOOL CDataCollectionEditor::EditItem(NXC_DCI *pItem)
    pgThresholds.m_strInstance = pItem->szInstance;
 
    // Setup property sheet and run
-   dlg.SetTitle("Data Collection Item");
+   dlg.SetTitle(_T("Data Collection Item"));
    dlg.m_psh.dwFlags |= PSH_NOAPPLYNOW;
    dlg.AddPage(&pgCollection);
    dlg.AddPage(&pgSchedule);
@@ -472,15 +472,15 @@ BOOL CDataCollectionEditor::EditItem(NXC_DCI *pItem)
       pItem->iPollingInterval = pgCollection.m_iPollingInterval;
       pItem->iRetentionTime = pgCollection.m_iRetentionTime;
       pItem->iStatus = pgCollection.m_iStatus;
-      strcpy(pItem->szName, (LPCTSTR)pgCollection.m_strName);
-      strcpy(pItem->szDescription, (LPCTSTR)pgCollection.m_strDescription);
+      nx_strncpy(pItem->szName, (LPCTSTR)pgCollection.m_strName, MAX_ITEM_NAME);
+      nx_strncpy(pItem->szDescription, (LPCTSTR)pgCollection.m_strDescription, MAX_DB_STRING);
       StrStrip(pItem->szDescription);
       if (pItem->szDescription[0] == 0)
-         strcpy(pItem->szDescription, pItem->szName);
+         nx_strncpy(pItem->szDescription, pItem->szName, MAX_DB_STRING);
       pItem->iDeltaCalculation = pgTransform.m_iDeltaProc;
       safe_free(pItem->pszFormula);
-      pItem->pszFormula = strdup((LPCTSTR)pgTransform.m_strFormula);
-      strcpy(pItem->szInstance, (LPCTSTR)pgThresholds.m_strInstance);
+      pItem->pszFormula = _tcsdup((LPCTSTR)pgTransform.m_strFormula);
+      nx_strncpy(pItem->szInstance, (LPCTSTR)pgThresholds.m_strInstance, MAX_DB_STRING);
       StrStrip(pItem->szInstance);
       DestroyStringList(pItem->ppScheduleList, pItem->dwNumSchedules);
       pItem->iAdvSchedule = pgCollection.m_bAdvSchedule;
@@ -691,7 +691,7 @@ void CDataCollectionEditor::OnItemShowdata()
 {
    int iItem;
    DWORD dwItemId, dwIndex;
-   char szBuffer[384];
+   TCHAR szBuffer[384];
    NXC_OBJECT *pObject;
 
    iItem = m_wndListCtrl.GetNextItem(-1, LVNI_SELECTED);
@@ -700,8 +700,8 @@ void CDataCollectionEditor::OnItemShowdata()
       dwItemId = m_wndListCtrl.GetItemData(iItem);
       dwIndex = NXCItemIndex(m_pItemList, dwItemId);
       pObject = NXCFindObjectById(g_hSession, m_pItemList->dwNodeId);
-      sprintf(szBuffer, "%s - %s", pObject->szName, 
-              m_pItemList->pItems[dwIndex].szDescription);
+      _stprintf(szBuffer, _T("%s - %s"), pObject->szName, 
+                m_pItemList->pItems[dwIndex].szDescription);
       theApp.ShowDCIData(m_pItemList->dwNodeId, dwItemId, szBuffer);
       iItem = m_wndListCtrl.GetNextItem(iItem, LVNI_SELECTED);
    }
@@ -717,7 +717,7 @@ void CDataCollectionEditor::OnItemGraph()
    int iItem;
    DWORD i, dwNumItems, dwIndex;
    NXC_DCI **ppItemList;
-   char szBuffer[384];
+   TCHAR szBuffer[384];
    NXC_OBJECT *pObject;
 
    pObject = NXCFindObjectById(g_hSession, m_pItemList->dwNodeId);
@@ -744,12 +744,12 @@ void CDataCollectionEditor::OnItemGraph()
 
    if ((dwNumItems == 1) && (ppItemList[0] != NULL))
    {
-      sprintf(szBuffer, "%s - %s", pObject->szName,
-              ppItemList[0]->szDescription);
+      _stprintf(szBuffer, _T("%s - %s"), pObject->szName,
+                ppItemList[0]->szDescription);
    }
    else
    {
-      strcpy(szBuffer, pObject->szName);
+      _tcscpy(szBuffer, pObject->szName);
    }
 
    theApp.ShowDCIGraph(m_pItemList->dwNodeId, dwNumItems, ppItemList, szBuffer);
@@ -798,7 +798,7 @@ void CDataCollectionEditor::OnItemDuplicate()
                                (void *)m_pItemList->dwNodeId, (void *)dwNumItems, 
                                pdwItemList, _T("Copying items..."));
       if (dwResult != RCC_SUCCESS)
-         theApp.ErrorBox(dwResult, "Error copying items: %s");
+         theApp.ErrorBox(dwResult, _T("Error copying items: %s"));
       PostMessage(WM_COMMAND, ID_VIEW_REFRESH, 0);
 
       // Cleanup
@@ -820,7 +820,8 @@ void CDataCollectionEditor::OnFileExport()
    dlg.m_ofn.lpstrFilter = _T("Data Collection Templates (*.dct)\0*.dct\0XML Files (*.xml)\0*.xml\0All Files (*.*)\0*.*\0");
    if (dlg.DoModal() == IDOK)
    {
-      MessageBox(dlg.m_ofn.lpstrFile,"FILE");
+      /* TODO: implement export */
+      MessageBox(dlg.m_ofn.lpstrFile, _T("FILE"));
    }
 }
 
@@ -857,13 +858,13 @@ void CDataCollectionEditor::OnViewRefresh()
    dwResult = DoRequestArg2(NXCCloseNodeDCIList, g_hSession, m_pItemList,
                             _T("Unlocking node's data collection information..."));
    if (dwResult != RCC_SUCCESS)
-      theApp.ErrorBox(dwResult, "Unable to close data collection configuration:\n%s");
+      theApp.ErrorBox(dwResult, _T("Unable to close data collection configuration:\n%s"));
    m_pItemList = NULL;
 
    dwResult = DoRequestArg3(NXCOpenNodeDCIList, g_hSession, (void *)dwObjectId, 
-                            &m_pItemList, "Loading node's data collection information...");
+                            &m_pItemList, _T("Loading node's data collection information..."));
    if (dwResult != RCC_SUCCESS)
-      theApp.ErrorBox(dwResult, "Unable to load data collection information for node:\n%s");
+      theApp.ErrorBox(dwResult, _T("Unable to load data collection information for node:\n%s"));
 
    // Fill list view with data
    RefreshItemList();
@@ -1112,7 +1113,7 @@ void CDataCollectionEditor::OnItemMovetotemplate()
                                   (void *)dlg.m_pdwObjectList[0], 
                                   (void *)dwNumItems, pdwItemList, _T("Moving items..."));
          if (dwResult != RCC_SUCCESS)
-            theApp.ErrorBox(dwResult, "Error moving items: %s");
+            theApp.ErrorBox(dwResult, _T("Error moving items: %s"));
       }
 
       // Cleanup
index bc3b474..fb14985 100644 (file)
@@ -54,8 +54,8 @@ int CDebugFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    m_wndListCtrl.SetHoverTime(0x7FFFFFFF);
 
    // Setup columns
-   m_wndListCtrl.InsertColumn(0, "Time", LVCFMT_LEFT, 120);
-   m_wndListCtrl.InsertColumn(1, "Message", LVCFMT_LEFT, 600);
+   m_wndListCtrl.InsertColumn(0, _T("Time"), LVCFMT_LEFT, 120);
+   m_wndListCtrl.InsertColumn(1, _T("Message"), LVCFMT_LEFT, 600);
        
    theApp.OnViewCreate(VIEW_DEBUG, this);
 
@@ -117,16 +117,16 @@ BOOL CDebugFrame::PreCreateWindow(CREATESTRUCT& cs)
 // Add new message to log
 //
 
-void CDebugFrame::AddMessage(char *pszMsg)
+void CDebugFrame::AddMessage(TCHAR *pszMsg)
 {
    int iIdx;
    time_t currTime;
    struct tm *ptm;
-   char szBuffer[64];
+   TCHAR szBuffer[64];
 
    currTime = time(NULL);
    ptm = localtime((const time_t *)&currTime);
-   strftime(szBuffer, 32, "%d-%b-%Y %H:%M:%S", ptm);
+   _tcsftime(szBuffer, 32, _T("%d-%b-%Y %H:%M:%S"), ptm);
    iIdx = m_wndListCtrl.InsertItem(0x7FFFFFFF, szBuffer, 0);
    if (iIdx != -1)
    {
index 7808a30..94dbe21 100644 (file)
@@ -21,7 +21,7 @@ public:
 
 // Operations
 public:
-       void AddMessage(char *pszMsg);
+       void AddMessage(TCHAR *pszMsg);
 
 // Overrides
        // ClassWizard generated virtual function overrides
index 3721b9e..0c8200a 100644 (file)
@@ -160,7 +160,7 @@ void CEventBrowser::AddEvent(NXC_EVENT *pEvent, BOOL bAppend)
 
       m_wndListCtrl.SetItemText(iIdx, 1, g_szStatusTextSmall[pEvent->dwSeverity]);
       pObject = NXCFindObjectById(g_hSession, pEvent->dwSourceId);
-      m_wndListCtrl.SetItemText(iIdx, 2, pObject ? pObject->szName : "<unknown>");
+      m_wndListCtrl.SetItemText(iIdx, 2, pObject ? pObject->szName : _T("<unknown>"));
       m_wndListCtrl.SetItemText(iIdx, 3, pEvent->szMessage);
 
       m_wndListCtrl.EnsureVisible(iIdx, FALSE);
index 6ef8aeb..65098c5 100644 (file)
@@ -172,7 +172,7 @@ void CMIBBrowserDlg::OnSelchangedTreeMib(NMHDR *pNMHDR, LRESULT *pResult)
 {
        NMTREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
    SNMP_MIBObject *pNode;
-   char *pszTemp, szBuffer[MAX_OID_LEN * 8];
+   TCHAR *pszTemp, szBuffer[MAX_OID_LEN * 8];
 
    pNode = (SNMP_MIBObject *)m_wndTreeCtrl.GetItemData(pNMTreeView->itemNew.hItem);
 
index efd14ec..550336f 100644 (file)
@@ -45,7 +45,7 @@ static BOOL m_bClearCache = FALSE;
 // Set status text in wait window
 //
 
-inline void SetInfoText(HWND hWnd, char *pszText)
+inline void SetInfoText(HWND hWnd, TCHAR *pszText)
 {
    SendMessage(hWnd, NXCM_SET_INFO_TEXT, 0, (LPARAM)pszText);
 }
@@ -157,7 +157,7 @@ static DWORD WINAPI LoginThread(void *pArg)
 
          if (SendMessage(hWnd, NXCM_CHANGE_PASSWORD, 0, (LPARAM)szPassword))
          {
-            SetInfoText(hWnd, "Changing password...");
+            SetInfoText(hWnd, _T("Changing password..."));
             dwResult = NXCSetPassword(g_hSession, NXCGetCurrentUserId(g_hSession), szPassword);
          }
       }
@@ -170,7 +170,7 @@ static DWORD WINAPI LoginThread(void *pArg)
    // If successful, load container objects' categories
    if (dwResult == RCC_SUCCESS)
    {
-      SetInfoText(hWnd, "Loading container categories...");
+      SetInfoText(hWnd, _T("Loading container categories..."));
       dwResult = NXCLoadCCList(g_hSession, &g_pCCList);
    }
 
@@ -180,7 +180,7 @@ static DWORD WINAPI LoginThread(void *pArg)
       BYTE bsServerId[8];
       TCHAR szCacheFile[MAX_PATH + 32];
 
-      SetInfoText(hWnd, "Synchronizing objects...");
+      SetInfoText(hWnd, _T("Synchronizing objects..."));
       NXCGetServerID(g_hSession, bsServerId);
       _tcscpy(szCacheFile, g_szWorkDir);
       _tcscat(szCacheFile, WORKFILE_OBJECTCACHE);
@@ -196,13 +196,13 @@ static DWORD WINAPI LoginThread(void *pArg)
 
    if (dwResult == RCC_SUCCESS)
    {
-      SetInfoText(hWnd, "Loading user database...");
+      SetInfoText(hWnd, _T("Loading user database..."));
       dwResult = NXCLoadUserDB(g_hSession);
    }
 
    if (dwResult == RCC_SUCCESS)
    {
-      SetInfoText(hWnd, "Loading action configuration...");
+      SetInfoText(hWnd, _T("Loading action configuration..."));
       dwResult = NXCLoadActions(g_hSession, &g_dwNumActions, &g_pActionList);
       if (dwResult == RCC_ACCESS_DENIED)
          dwResult = RCC_SUCCESS;    // User may not have rights to see actions, it's ok here
@@ -214,7 +214,7 @@ static DWORD WINAPI LoginThread(void *pArg)
       TCHAR szFileName[MAX_PATH];
       BOOL bNeedDownload;
 
-      SetInfoText(hWnd, "Loading and initializing MIB files...");
+      SetInfoText(hWnd, _T("Loading and initializing MIB files..."));
       _tcscpy(szFileName, g_szWorkDir);
       _tcscat(szFileName, WORKDIR_MIBCACHE);
       _tcscat(szFileName, _T("\\netxms.mib"));
@@ -259,18 +259,18 @@ static DWORD WINAPI LoginThread(void *pArg)
 
    if (dwResult == RCC_SUCCESS)
    {
-      SetInfoText(hWnd, "Loading event information...");
+      SetInfoText(hWnd, _T("Loading event information..."));
       dwResult = NXCLoadEventDB(g_hSession);
    }
 
    // Synchronize images
    if (dwResult == RCC_SUCCESS)
    {
-      char szCacheDir[MAX_PATH];
+      TCHAR szCacheDir[MAX_PATH];
 
-      SetInfoText(hWnd, "Synchronizing images...");
-      strcpy(szCacheDir, g_szWorkDir);
-      strcat(szCacheDir, WORKDIR_IMAGECACHE);
+      SetInfoText(hWnd, _T("Synchronizing images..."));
+      _tcscpy(szCacheDir, g_szWorkDir);
+      _tcscat(szCacheDir, WORKDIR_IMAGECACHE);
       dwResult = NXCSyncImages(g_hSession, &g_pSrvImageList, szCacheDir, IMAGE_FORMAT_ICO);
       if (dwResult == RCC_SUCCESS)
          CreateObjectImageList();
@@ -281,7 +281,7 @@ static DWORD WINAPI LoginThread(void *pArg)
    {
       DWORD *pdwClassId, *pdwImageId;
 
-      SetInfoText(hWnd, "Loading default image list...");
+      SetInfoText(hWnd, _T("Loading default image list..."));
       dwResult = NXCLoadDefaultImageList(g_hSession, &g_dwDefImgListSize, &pdwClassId, &pdwImageId);
       if (dwResult == RCC_SUCCESS)
       {
@@ -300,7 +300,7 @@ static DWORD WINAPI LoginThread(void *pArg)
    // Load object tools
    if (dwResult == RCC_SUCCESS)
    {
-      SetInfoText(hWnd, "Loading object tools information...");
+      SetInfoText(hWnd, _T("Loading object tools information..."));
       dwResult = LoadObjectTools();
    }
 
@@ -398,7 +398,7 @@ static DWORD WINAPI RequestThread(void *pArg)
 // Perform request (common code)
 //
 
-static DWORD ExecuteRequest(RqData *pData, char *pszInfoText)
+static DWORD ExecuteRequest(RqData *pData, TCHAR *pszInfoText)
 {
    HANDLE hThread;
    DWORD dwThreadId, dwResult;
@@ -439,7 +439,7 @@ static DWORD ExecuteRequest(RqData *pData, char *pszInfoText)
 // Perform generic request without parameters
 //
 
-DWORD DoRequest(DWORD (* pFunc)(void), char *pszInfoText)
+DWORD DoRequest(DWORD (* pFunc)(void), TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -454,7 +454,7 @@ DWORD DoRequest(DWORD (* pFunc)(void), char *pszInfoText)
 // Perform request with 1 parameter
 //
 
-DWORD DoRequestArg1(void *pFunc, void *pArg1, char *pszInfoText)
+DWORD DoRequestArg1(void *pFunc, void *pArg1, TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -470,7 +470,7 @@ DWORD DoRequestArg1(void *pFunc, void *pArg1, char *pszInfoText)
 // Perform request with 2 parameters
 //
 
-DWORD DoRequestArg2(void *pFunc, void *pArg1, void *pArg2, char *pszInfoText)
+DWORD DoRequestArg2(void *pFunc, void *pArg1, void *pArg2, TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -487,7 +487,7 @@ DWORD DoRequestArg2(void *pFunc, void *pArg1, void *pArg2, char *pszInfoText)
 // Perform request with 3 parameter
 //
 
-DWORD DoRequestArg3(void *pFunc, void *pArg1, void *pArg2, void *pArg3, char *pszInfoText)
+DWORD DoRequestArg3(void *pFunc, void *pArg1, void *pArg2, void *pArg3, TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -506,7 +506,7 @@ DWORD DoRequestArg3(void *pFunc, void *pArg1, void *pArg2, void *pArg3, char *ps
 //
 
 DWORD DoRequestArg4(void *pFunc, void *pArg1, void *pArg2, void *pArg3, 
-                    void *pArg4, char *pszInfoText)
+                    void *pArg4, TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -526,7 +526,7 @@ DWORD DoRequestArg4(void *pFunc, void *pArg1, void *pArg2, void *pArg3,
 //
 
 DWORD DoRequestArg5(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, 
-                    void *pArg5, char *pszInfoText)
+                    void *pArg5, TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -547,7 +547,7 @@ DWORD DoRequestArg5(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pA
 //
 
 DWORD DoRequestArg6(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, 
-                    void *pArg5, void *pArg6, char *pszInfoText)
+                    void *pArg5, void *pArg6, TCHAR *pszInfoText)
 {
    RqData rqData;
 
@@ -569,7 +569,7 @@ DWORD DoRequestArg6(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pA
 //
 
 DWORD DoRequestArg7(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, 
-                    void *pArg5, void *pArg6, void *pArg7, char *pszInfoText)
+                    void *pArg5, void *pArg6, void *pArg7, TCHAR *pszInfoText)
 {
    RqData rqData;
 
index 5a4b54a..f93b1ec 100644 (file)
@@ -139,62 +139,62 @@ TCHAR *g_szSyslogFacility[] =
 };
 TCHAR *g_szInterfaceTypes[] = 
 {
-   "Unknown",
-   "Other",
-   "Regular 1822",
-   "HDH 1822",
-   "DDN X.25",
-   "RFC877 X.25",
-   "Ethernet CSMA/CD",
-   "ISO 802.3 CSMA/CD",
-   "ISO 802.4 Token Bus",
-   "ISO 802.5 Token Ring",
-   "ISO 802.6 MAN",
-   "StarLan",
-   "PROTEON 10 Mbps",
-   "PROTEON 80 Mbps",
-   "Hyper Channel",
-   "FDDI",
-   "LAPB",
-   "SDLC",
-   "DS1",
-   "E1",
-   "ISDN BRI",
-   "ISDN PRI",
-   "Proprietary Serial Pt-to-Pt",
-   "PPP",
-   "Software Loopback",
-   "EON (CLNP over IP)",
-   "Ethernet 3 Mbps",
-   "NSIP (XNS over IP)",
-   "SLIP",
-   "DS3",
-   "SMDS",
-   "Frame Relay",
-   "RS-232",
-   "PARA",
-   "ArcNet",
-   "ArcNet Plus",
-   "ATM",
-   "MIO X.25",
-   "SONET",
-   "X.25 PLE"
-   "ISO 88022 LLC",
-   "LocalTalk",
-   "SMDS DXI",
-   "Frame Relay Service",
-   "V.35",
-   "HSSI",
-   "HIPPI",
-   "Modem",
-   "AAL5",
-   "SONET PATH",
-   "SONET VT",
-   "SMDS ICIP",
-   "Proprietary Virtual",
-   "Proprietary Multiplexor",
-   "IEEE 802.12",
-   "FibreChannel"
+   _T("Unknown"),
+   _T("Other"),
+   _T("Regular 1822"),
+   _T("HDH 1822"),
+   _T("DDN X.25"),
+   _T("RFC877 X.25"),
+   _T("Ethernet CSMA/CD"),
+   _T("ISO 802.3 CSMA/CD"),
+   _T("ISO 802.4 Token Bus"),
+   _T("ISO 802.5 Token Ring"),
+   _T("ISO 802.6 MAN"),
+   _T("StarLan"),
+   _T("PROTEON 10 Mbps"),
+   _T("PROTEON 80 Mbps"),
+   _T("Hyper Channel"),
+   _T("FDDI"),
+   _T("LAPB"),
+   _T("SDLC"),
+   _T("DS1"),
+   _T("E1"),
+   _T("ISDN BRI"),
+   _T("ISDN PRI"),
+   _T("Proprietary Serial Pt-to-Pt"),
+   _T("PPP"),
+   _T("Software Loopback"),
+   _T("EON (CLNP over IP)"),
+   _T("Ethernet 3 Mbps"),
+   _T("NSIP (XNS over IP)"),
+   _T("SLIP"),
+   _T("DS3"),
+   _T("SMDS"),
+   _T("Frame Relay"),
+   _T("RS-232"),
+   _T("PARA"),
+   _T("ArcNet"),
+   _T("ArcNet Plus"),
+   _T("ATM"),
+   _T("MIO X.25"),
+   _T("SONET"),
+   _T("X.25 PLE"),
+   _T("ISO 88022 LLC"),
+   _T("LocalTalk"),
+   _T("SMDS DXI"),
+   _T("Frame Relay Service"),
+   _T("V.35"),
+   _T("HSSI"),
+   _T("HIPPI"),
+   _T("Modem"),
+   _T("AAL5"),
+   _T("SONET PATH"),
+   _T("SONET VT"),
+   _T("SMDS ICIP"),
+   _T("Proprietary Virtual"),
+   _T("Proprietary Multiplexor"),
+   _T("IEEE 802.12"),
+   _T("FibreChannel")
 };
 TCHAR *g_szAuthMethod[] = { _T("NetXMS Password"), _T("RADIUS"), _T("RSA SecureID"), NULL };
 
@@ -226,14 +226,14 @@ TCHAR *g_pszItemOriginLong[] = { _T("Internal"), _T("NetXMS Agent"), _T("SNMP Ag
                                  _T("CheckPoint SNMP Agent") };
 TCHAR *g_pszItemDataType[] = { _T("Integer"), _T("Unsigned Integer"), _T("Int64"), 
                                _T("Unsigned Int64"), _T("String"), _T("Float") };
-char *g_pszItemStatus[] = { "Active", "Disabled", "Not supported" };
-char *g_pszThresholdOperation[] = { "<", "<=", "=", ">=", ">", "!=", "~", "!~" };
-char *g_pszThresholdOperationLong[] = { "less", "less or equal", "equal"
-                                        "greater or equal", "greater", "not equal"
-                                        "like", "not like" };
-char *g_pszThresholdFunction[] = { "last", "average", "deviation", "diff" };
-char *g_pszThresholdFunctionLong[] = { "last polled value", "average value",
-                                       "mean deviation", "diff with previous value" };
+TCHAR *g_pszItemStatus[] = { _T("Active"), _T("Disabled"), _T("Not supported") };
+TCHAR *g_pszThresholdOperation[] = { _T("<"), _T("<="), _T("="), _T(">="), _T(">"), _T("!="), _T("~"), _T("!~") };
+TCHAR *g_pszThresholdOperationLong[] = { _T("less"), _T("less or equal"), _T("equal")
+                                         _T("greater or equal"), _T("greater"), _T("not equal")
+                                         _T("like"), _T("not like") };
+TCHAR *g_pszThresholdFunction[] = { _T("last"), _T("average"), _T("deviation"), _T("diff") };
+TCHAR *g_pszThresholdFunctionLong[] = { _T("last polled value"), _T("average value"),
+                                       _T("mean deviation"), _T("diff with previous value") };
 
 
 //
@@ -242,51 +242,51 @@ char *g_pszThresholdFunctionLong[] = { "last polled value", "average value",
 
 CODE_TO_TEXT g_ctSnmpMibStatus[] =
 {
-   { MIB_STATUS_MANDATORY, "Mandatory" },
-   { MIB_STATUS_OPTIONAL, "Optional" },
-   { MIB_STATUS_OBSOLETE, "Obsolete" },
-   { MIB_STATUS_DEPRECATED, "Deprecated" },
-   { MIB_STATUS_CURRENT, "Current" },
+   { MIB_STATUS_MANDATORY, _T("Mandatory") },
+   { MIB_STATUS_OPTIONAL, _T("Optional") },
+   { MIB_STATUS_OBSOLETE, _T("Obsolete") },
+   { MIB_STATUS_DEPRECATED, _T("Deprecated") },
+   { MIB_STATUS_CURRENT, _T("Current") },
    { 0, NULL }    // End of list
 };
 CODE_TO_TEXT g_ctSnmpMibAccess[] =
 {
-   { MIB_ACCESS_READONLY, "Read" },
-   { MIB_ACCESS_READWRITE, "Read/Write" },
-   { MIB_ACCESS_WRITEONLY, "Write" },
-   { MIB_ACCESS_NOACCESS, "None" },
-   { MIB_ACCESS_NOTIFY, "Notify" },
-   { MIB_ACCESS_CREATE, "Create" },
+   { MIB_ACCESS_READONLY, _T("Read") },
+   { MIB_ACCESS_READWRITE, _T("Read/Write") },
+   { MIB_ACCESS_WRITEONLY, _T("Write") },
+   { MIB_ACCESS_NOACCESS, _T("None") },
+   { MIB_ACCESS_NOTIFY, _T("Notify") },
+   { MIB_ACCESS_CREATE, _T("Create") },
    { 0, NULL }    // End of list
 };
 CODE_TO_TEXT g_ctSnmpMibType[] =
 {
-   { MIB_TYPE_OTHER, "Other" },
-   { MIB_TYPE_OBJID, "Object ID" }, 
-   { MIB_TYPE_OCTETSTR, "Octet String" },
-   { MIB_TYPE_INTEGER, "Integer" },
-   { MIB_TYPE_NETADDR, "Net Address" },
-   { MIB_TYPE_IPADDR, "IP Address" },
-   { MIB_TYPE_COUNTER, "Counter" },
-   { MIB_TYPE_COUNTER32, "Counter" },
-   { MIB_TYPE_GAUGE, "Gauge" },
-   { MIB_TYPE_GAUGE32, "Gauge" },
-   { MIB_TYPE_TIMETICKS, "Timeticks" },
-   { MIB_TYPE_OPAQUE, "Opaque" },
-   { MIB_TYPE_NULL, "Null" },
-   { MIB_TYPE_COUNTER64, "Counter 64bit" },
-   { MIB_TYPE_BITSTRING, "Bit String" },
-   { MIB_TYPE_NSAPADDRESS, "NSAP Address" },
-   { MIB_TYPE_UINTEGER, "Unsigned Integer" },
-   { MIB_TYPE_UNSIGNED32, "Unsigned Integer 32bit" },
-   { MIB_TYPE_INTEGER32, "Integer 32bit" },
-   { MIB_TYPE_TRAPTYPE, "Trap" },
-   { MIB_TYPE_NOTIFTYPE, "Notification" },
-   { MIB_TYPE_OBJGROUP, "Object Group" },
-   { MIB_TYPE_NOTIFGROUP, "NOTIFGROUP" },
-   { MIB_TYPE_MODID, "Module ID" },
-   { MIB_TYPE_AGENTCAP, "AGENTCAP" },
-   { MIB_TYPE_MODCOMP, "MODCOMP" },
+   { MIB_TYPE_OTHER, _T("Other") },
+   { MIB_TYPE_OBJID, _T("Object ID") }, 
+   { MIB_TYPE_OCTETSTR, _T("Octet String") },
+   { MIB_TYPE_INTEGER, _T("Integer") },
+   { MIB_TYPE_NETADDR, _T("Net Address") },
+   { MIB_TYPE_IPADDR, _T("IP Address") },
+   { MIB_TYPE_COUNTER, _T("Counter") },
+   { MIB_TYPE_COUNTER32, _T("Counter") },
+   { MIB_TYPE_GAUGE, _T("Gauge") },
+   { MIB_TYPE_GAUGE32, _T("Gauge") },
+   { MIB_TYPE_TIMETICKS, _T("Timeticks") },
+   { MIB_TYPE_OPAQUE, _T("Opaque") },
+   { MIB_TYPE_NULL, _T("Null") },
+   { MIB_TYPE_COUNTER64, _T("Counter 64bit") },
+   { MIB_TYPE_BITSTRING, _T("Bit String") },
+   { MIB_TYPE_NSAPADDRESS, _T("NSAP Address") },
+   { MIB_TYPE_UINTEGER, _T("Unsigned Integer") },
+   { MIB_TYPE_UNSIGNED32, _T("Unsigned Integer 32bit") },
+   { MIB_TYPE_INTEGER32, _T("Integer 32bit") },
+   { MIB_TYPE_TRAPTYPE, _T("Trap") },
+   { MIB_TYPE_NOTIFTYPE, _T("Notification") },
+   { MIB_TYPE_OBJGROUP, _T("Object Group") },
+   { MIB_TYPE_NOTIFGROUP, _T("NOTIFGROUP") },
+   { MIB_TYPE_MODID, _T("Module ID") },
+   { MIB_TYPE_AGENTCAP, _T("AGENTCAP") },
+   { MIB_TYPE_MODCOMP, _T("MODCOMP") },
    { 0, NULL }    // End of list
 };
 
@@ -341,10 +341,10 @@ NXC_OBJECT_TOOL *g_pObjectToolList = NULL;
 // Configuration file keywords
 //
 
-TCHAR g_szConfigKeywords[] = "Action ControlServers EnableActions EnabledCiphers "
-                             "EnableProxy EnableSubagentAutoload ExecTimeout"
-                             "ExternalParameter FileStore ListenPort LogFile "
-                             "LogUnresolvedSymbols MasterServers MaxSessions "
-                             "PlatformSuffix RequireAuthentication "
-                             "RequireEncryption Servers SessionIdleTimeout "
-                             "SharedSecret StartupDelay SubAgent";
+char g_szConfigKeywords[] = "Action ControlServers EnableActions EnabledCiphers "
+                            "EnableProxy EnableSubagentAutoload ExecTimeout"
+                            "ExternalParameter FileStore ListenPort LogFile "
+                            "LogUnresolvedSymbols MasterServers MaxSessions "
+                            "PlatformSuffix RequireAuthentication "
+                            "RequireEncryption Servers SessionIdleTimeout "
+                            "SharedSecret StartupDelay SubAgent";
index 669af02..7d76a8a 100644 (file)
@@ -180,7 +180,7 @@ struct RqData
 struct CODE_TO_TEXT
 {
    int iCode;
-   char *pszText;
+   TCHAR *pszText;
 };
 
 
@@ -250,17 +250,18 @@ public:
 //
 
 DWORD DoLogin(BOOL bClearCache);
-DWORD DoRequest(DWORD (* pFunc)(void), char *pszInfoText);
-DWORD DoRequestArg1(void *pFunc, void *pArg1, char *pszInfoText);
-DWORD DoRequestArg2(void *pFunc, void *pArg1, void *pArg2, char *pszInfoText);
-DWORD DoRequestArg3(void *pFunc, void *pArg1, void *pArg2, void *pArg3, char *pszInfoText);
-DWORD DoRequestArg4(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, char *pszInfoText);
+DWORD DoRequest(DWORD (* pFunc)(void), TCHAR *pszInfoText);
+DWORD DoRequestArg1(void *pFunc, void *pArg1, TCHAR *pszInfoText);
+DWORD DoRequestArg2(void *pFunc, void *pArg1, void *pArg2, TCHAR *pszInfoText);
+DWORD DoRequestArg3(void *pFunc, void *pArg1, void *pArg2, void *pArg3, TCHAR *pszInfoText);
+DWORD DoRequestArg4(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4,
+                    TCHAR *pszInfoText);
 DWORD DoRequestArg5(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, 
-                    void *pArg5, char *pszInfoText);
+                    void *pArg5, TCHAR *pszInfoText);
 DWORD DoRequestArg6(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, 
-                    void *pArg5, void *pArg6, char *pszInfoText);
+                    void *pArg5, void *pArg6, TCHAR *pszInfoText);
 DWORD DoRequestArg7(void *pFunc, void *pArg1, void *pArg2, void *pArg3, void *pArg4, 
-                    void *pArg5, void *pArg6, void *pArg7, char *pszInfoText);
+                    void *pArg5, void *pArg6, void *pArg7, TCHAR *pszInfoText);
 DWORD WINAPI PollerThread(void *pArg);
 
 
@@ -289,19 +290,19 @@ HBITMAP LoadPicture(TCHAR *pszFile, int nScaleFactor);
 // MIB functions
 //
 
-void BuildOIDString(SNMP_MIBObject *pNode, char *pszBuffer);
-char *BuildSymbolicOIDString(SNMP_MIBObject *pNode, DWORD dwInstance);
+void BuildOIDString(SNMP_MIBObject *pNode, TCHAR *pszBuffer);
+TCHAR *BuildSymbolicOIDString(SNMP_MIBObject *pNode, DWORD dwInstance);
 
 
 //
 // Utility functions
 //
 
-char *FormatTimeStamp(DWORD dwTimeStamp, char *pszBuffer, int iType);
+TCHAR *FormatTimeStamp(DWORD dwTimeStamp, TCHAR *pszBuffer, int iType);
 CSize GetWindowSize(CWnd *pWnd);
 void SelectListViewItem(CListCtrl *pListCtrl, int iItem);
-const char *CodeToText(int iCode, CODE_TO_TEXT *pTranslator, const char *pszDefaultText = "Unknown");
-char *TranslateUNIXText(const char *pszText);
+const TCHAR *CodeToText(int iCode, CODE_TO_TEXT *pTranslator, const TCHAR *pszDefaultText = _T("Unknown"));
+TCHAR *TranslateUNIXText(const TCHAR *pszText);
 void RestoreMDIChildPlacement(CMDIChildWnd *pWnd, WINDOWPLACEMENT *pwp);
 BOOL IsButtonChecked(CDialog *pWnd, int nCtrl);
 BOOL ExtractWindowParam(TCHAR *pszStr, TCHAR *pszParam, TCHAR *pszBuffer, int iSize);
@@ -355,16 +356,16 @@ extern TCHAR *g_szSyslogSeverity[];
 extern TCHAR *g_szSyslogFacility[];
 extern TCHAR *g_szAuthMethod[];
 extern COLORREF g_statusColorTable[];
-extern char *g_szObjectClass[];
-extern char *g_szInterfaceTypes[];
+extern TCHAR *g_szObjectClass[];
+extern TCHAR *g_szInterfaceTypes[];
 extern TCHAR *g_pszItemOrigin[];
 extern TCHAR *g_pszItemOriginLong[];
 extern TCHAR *g_pszItemDataType[];
-extern char *g_pszItemStatus[];
-extern char *g_pszThresholdOperation[];
-extern char *g_pszThresholdOperationLong[];
-extern char *g_pszThresholdFunction[];
-extern char *g_pszThresholdFunctionLong[];
+extern TCHAR *g_pszItemStatus[];
+extern TCHAR *g_pszThresholdOperation[];
+extern TCHAR *g_pszThresholdOperationLong[];
+extern TCHAR *g_pszThresholdFunction[];
+extern TCHAR *g_pszThresholdFunctionLong[];
 extern CODE_TO_TEXT g_ctSnmpMibStatus[];
 extern CODE_TO_TEXT g_ctSnmpMibAccess[];
 extern CODE_TO_TEXT g_ctSnmpMibType[];
@@ -383,7 +384,7 @@ extern NXC_OBJECT_TOOL *g_pObjectToolList;
 extern SNMP_MIBObject *g_pMIBRoot;
 extern ALARM_SOUND_CFG g_soundCfg;
 extern CFont g_fontCode;
-extern TCHAR g_szConfigKeywords[];
+extern char g_szConfigKeywords[];
 
 
 //
index 63216b8..2e6f80e 100644 (file)
@@ -1136,15 +1136,15 @@ void CConsoleApp::OnViewDebug()
 // Print debug information
 //
 
-void CConsoleApp::DebugPrintf(char *szFormat, ...)
+void CConsoleApp::DebugPrintf(TCHAR *szFormat, ...)
 {
    if (m_viewState[VIEW_DEBUG].bActive)
    {
-      char szBuffer[1024];
+      TCHAR szBuffer[1024];
       va_list args;
 
       va_start(args, szFormat);
-      vsprintf(szBuffer, szFormat, args);
+      _vsntprintf(szBuffer, 1024, szFormat, args);
       va_end(args);
 
       ((CDebugFrame *)m_viewState[VIEW_DEBUG].pWnd)->AddMessage(szBuffer);
@@ -1397,7 +1397,8 @@ void CConsoleApp::ErrorBox(DWORD dwError, TCHAR *pszMessage, TCHAR *pszTitle)
 // Show window with DCI's data
 //
 
-CMDIChildWnd *CConsoleApp::ShowDCIData(DWORD dwNodeId, DWORD dwItemId, char *pszItemName, TCHAR *pszParams)
+CMDIChildWnd *CConsoleApp::ShowDCIData(DWORD dwNodeId, DWORD dwItemId,
+                                       TCHAR *pszItemName, TCHAR *pszParams)
 {
    CDCIDataView *pWnd;
 
index 8a15ffa..32473b8 100644 (file)
@@ -4,7 +4,7 @@
 
 # TARGTYPE "Win32 (x86) Application" 0x0101
 
-CFG=nxcon - Win32 Debug
+CFG=nxcon - Win32 Debug UNICODE
 !MESSAGE This is not a valid makefile. To build this project using NMAKE,
 !MESSAGE use the Export Makefile command and run
 !MESSAGE 
@@ -13,12 +13,14 @@ CFG=nxcon - Win32 Debug
 !MESSAGE You can specify a configuration when running NMAKE
 !MESSAGE by defining the macro CFG on the command line. For example:
 !MESSAGE 
-!MESSAGE NMAKE /f "nxcon.mak" CFG="nxcon - Win32 Debug"
+!MESSAGE NMAKE /f "nxcon.mak" CFG="nxcon - Win32 Debug UNICODE"
 !MESSAGE 
 !MESSAGE Possible choices for configuration are:
 !MESSAGE 
 !MESSAGE "nxcon - Win32 Release" (based on "Win32 (x86) Application")
 !MESSAGE "nxcon - Win32 Debug" (based on "Win32 (x86) Application")
+!MESSAGE "nxcon - Win32 Debug UNICODE" (based on "Win32 (x86) Application")
+!MESSAGE "nxcon - Win32 Release UNICODE" (based on "Win32 (x86) Application")
 !MESSAGE 
 
 # Begin Project
@@ -90,12 +92,77 @@ SOURCE="$(InputPath)"
 PostBuild_Cmds=copy Debug\nxcon.exe ..\..\..\bin
 # End Special Build Tool
 
+!ELSEIF  "$(CFG)" == "nxcon - Win32 Debug UNICODE"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "nxcon___Win32_Debug_UNICODE"
+# PROP BASE Intermediate_Dir "nxcon___Win32_Debug_UNICODE"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug_UNICODE"
+# PROP Intermediate_Dir "Debug_UNICODE"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\..\..\include" /D "UNICODE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FR /Yu"stdafx.h" /FD /GZ /c
+# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "..\..\..\include" /D "UNICODE" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /FR /Yu"stdafx.h" /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "_DEBUG" /d "_AFXDLL" /d "UNICODE"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 shfolder.lib libnxclw.lib libnetxmsw.lib libnxsnmpw.lib libnxcscpw.lib nxuilibw.lib libnxmapw.lib msimg32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libnxcl\Debug_UNICODE" /libpath:"..\..\libnetxms\Debug_UNICODE" /libpath:"..\..\libnxsnmp\Debug_UNICODE" /libpath:"..\..\libnxcscp\Debug_UNICODE" /libpath:"..\nxuilib\Debug_UNICODE" /libpath:"..\..\libnxmap\Debug_UNICODE"
+# ADD LINK32 shfolder.lib libnxclw.lib libnetxmsw.lib libnxsnmpw.lib libnxcscpw.lib nxuilibw.lib libnxmapw.lib msimg32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /libpath:"..\..\libnxcl\Debug_UNICODE" /libpath:"..\..\libnetxms\Debug_UNICODE" /libpath:"..\..\libnxsnmp\Debug_UNICODE" /libpath:"..\..\libnxcscp\Debug_UNICODE" /libpath:"..\nxuilib\Debug_UNICODE" /libpath:"..\..\libnxmap\Debug_UNICODE"
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=copy Debug\nxcon.exe ..\..\..\bin
+# End Special Build Tool
+
+!ELSEIF  "$(CFG)" == "nxcon - Win32 Release UNICODE"
+
+# PROP BASE Use_MFC 6
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "nxcon___Win32_Release_UNICODE"
+# PROP BASE Intermediate_Dir "nxcon___Win32_Release_UNICODE"
+# PROP BASE Ignore_Export_Lib 0
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 6
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release_UNICODE"
+# PROP Intermediate_Dir "Release_UNICODE"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MD /W3 /O2 /I "..\..\..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Yu"stdafx.h" /FD /c
+# ADD CPP /nologo /MD /W3 /O2 /I "..\..\..\include" /D "UNICODE" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_MBCS" /Yu"stdafx.h" /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL"
+# ADD RSC /l 0x409 /d "NDEBUG" /d "_AFXDLL" /d "UNICODE"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 shfolder.lib libnxcl.lib libnetxms.lib libnxsnmp.lib libnxcscp.lib nxuilib.lib libnxmap.lib msimg32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\libnxcl\Release" /libpath:"..\..\libnetxms\Release" /libpath:"..\..\libnxsnmp\Release" /libpath:"..\..\libnxcscp\Release" /libpath:"..\nxuilib\Release" /libpath:"..\..\libnxmap\Release"
+# ADD LINK32 shfolder.lib libnxclw.lib libnetxmsw.lib libnxsnmpw.lib libnxcscpw.lib nxuilibw.lib libnxmapw.lib msimg32.lib /nologo /subsystem:windows /machine:I386 /libpath:"..\..\libnxcl\Release_UNICODE" /libpath:"..\..\libnetxms\Release_UNICODE" /libpath:"..\..\libnxsnmp\Release_UNICODE" /libpath:"..\..\libnxcscp\Release_UNICODE" /libpath:"..\nxuilib\Release_UNICODE" /libpath:"..\..\libnxmap\Release_UNICODE"
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Desc=Copy files
+PostBuild_Cmds=copy Release\nxcon.exe C:\NetXMS\bin
+# End Special Build Tool
+
 !ENDIF 
 
 # Begin Target
 
 # Name "nxcon - Win32 Release"
 # Name "nxcon - Win32 Debug"
+# Name "nxcon - Win32 Debug UNICODE"
+# Name "nxcon - Win32 Release UNICODE"
 # Begin Group "Source Files"
 
 # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
index 9ea6e12..834d722 100644 (file)
@@ -270,14 +270,15 @@ public:
 
        CMDIChildWnd *ShowDCIGraph(DWORD dwNodeId, DWORD dwNumItems, NXC_DCI **ppItemList,
                               TCHAR *pszItemName, TCHAR *pszParams = NULL);
-       CMDIChildWnd *ShowDCIData(DWORD dwNodeId, DWORD dwItemId, char *pszItemName, TCHAR *pszParams = NULL);
+       CMDIChildWnd *ShowDCIData(DWORD dwNodeId, DWORD dwItemId,
+                             TCHAR *pszItemName, TCHAR *pszParams = NULL);
        void ErrorBox(DWORD dwError, TCHAR *pszMessage = NULL, TCHAR *pszTitle = NULL);
        void SetObjectMgmtStatus(NXC_OBJECT *pObject, BOOL bIsManaged);
        void StartObjectDCEditor(NXC_OBJECT *pObject);
        CMenu * GetContextMenu(int iIndex);
        void ObjectProperties(DWORD dwObjectId);
-       void DebugPrintf(char *szFormat, ...);
-   void DebugCallback(char *pszMsg)
+       void DebugPrintf(TCHAR *szFormat, ...);
+   void DebugCallback(TCHAR *pszMsg)
    {
       if (m_viewState[VIEW_DEBUG].bActive)
          ((CDebugFrame *)m_viewState[VIEW_DEBUG].pWnd)->AddMessage(pszMsg);
index 541cc0d..9126008 100644 (file)
 // Format time stamp
 //
 
-char *FormatTimeStamp(DWORD dwTimeStamp, char *pszBuffer, int iType)
+TCHAR *FormatTimeStamp(DWORD dwTimeStamp, TCHAR *pszBuffer, int iType)
 {
    struct tm *pTime;
-   static char *pFormat[] = { "%d-%b-%Y %H:%M:%S", "%H:%M:%S", "%b/%d", "%b" };
+   static TCHAR *pFormat[] = { _T("%d-%b-%Y %H:%M:%S"), _T("%H:%M:%S"), _T("%b/%d"), _T("%b") };
 
    pTime = localtime((const time_t *)&dwTimeStamp);
-   strftime(pszBuffer, 32, pFormat[iType], pTime);
+   _tcsftime(pszBuffer, 32, pFormat[iType], pTime);
    return pszBuffer;
 }
 
@@ -111,8 +111,8 @@ void BuildOIDString(SNMP_MIBObject *pNode, TCHAR *pszBuffer)
          dwSubIdList[dwPos++] = pCurr->OID();
       while(dwPos > 0)
       {
-         sprintf(&pszBuffer[iBufPos], ".%u", dwSubIdList[--dwPos]);
-         iBufPos = strlen(pszBuffer);
+         _stprintf(&pszBuffer[iBufPos], _T(".%u"), dwSubIdList[--dwPos]);
+         iBufPos = _tcslen(pszBuffer);
       }
    }
 }
@@ -132,7 +132,7 @@ TCHAR *BuildSymbolicOIDString(SNMP_MIBObject *pNode, DWORD dwInstance)
 
    if (pNode->Parent() == NULL)
    {
-      pszBuffer = (char *)malloc(4);
+      pszBuffer = (TCHAR *)malloc(8);
       pszBuffer[0] = 0;
    }
    else
@@ -140,15 +140,15 @@ TCHAR *BuildSymbolicOIDString(SNMP_MIBObject *pNode, DWORD dwInstance)
       for(dwPos = 0, dwSize = 0, pCurr = pNode; pCurr->Parent() != NULL; pCurr = pCurr->Parent())
       {
          pszSubIdList[dwPos] = CHECK_NULL(pCurr->Name());
-         dwSize += strlen(pszSubIdList[dwPos]) + 1;
+         dwSize += _tcslen(pszSubIdList[dwPos]) + 1;
          dwPos++;
       }
-      pszBuffer = (char *)malloc(dwSize + 16);
+      pszBuffer = (TCHAR *)malloc(dwSize + 16);
       for(iBufPos = 0; dwPos > 0;)
       {
-         iBufPos += sprintf(&pszBuffer[iBufPos], ".%s", pszSubIdList[--dwPos]);
+         iBufPos += _stprintf(&pszBuffer[iBufPos], _T(".%s"), pszSubIdList[--dwPos]);
       }
-      sprintf(&pszBuffer[iBufPos], ".%lu", dwInstance);
+      _stprintf(&pszBuffer[iBufPos], _T(".%lu"), dwInstance);
    }
    return pszBuffer;
 }
@@ -158,7 +158,7 @@ TCHAR *BuildSymbolicOIDString(SNMP_MIBObject *pNode, DWORD dwInstance)
 // Translate given code to text
 //
 
-const char *CodeToText(int iCode, CODE_TO_TEXT *pTranslator, const char *pszDefaultText)
+const TCHAR *CodeToText(int iCode, CODE_TO_TEXT *pTranslator, const TCHAR *pszDefaultText)
 {
    int i;
 
@@ -173,23 +173,23 @@ const char *CodeToText(int iCode, CODE_TO_TEXT *pTranslator, const char *pszDefa
 // Translate UNIX text to MSDOS (i.e. convert LF to CR/LF)
 //
 
-char *TranslateUNIXText(const char *pszText)
+TCHAR *TranslateUNIXText(const TCHAR *pszText)
 {
    int n;
-   const char *ptr;
-   char *dptr, *pDst;
+   const TCHAR *ptr;
+   TCHAR *dptr, *pDst;
 
    // Count newline characters
    for(ptr = pszText, n = 0; *ptr != 0; ptr++)
-      if (*ptr == '\n')
+      if (*ptr == _T('\n'))
          n++;
 
-   pDst = (char *)malloc(strlen(pszText) + n + 1);
+   pDst = (TCHAR *)malloc(_tcslen(pszText) + n + 1);
    for(ptr = pszText, dptr = pDst; *ptr != 0; ptr++)
-      if (*ptr == '\n')
+      if (*ptr == _T('\n'))
       {
-         *dptr++ = '\r';
-         *dptr++ = '\n';
+         *dptr++ = _T('\r');
+         *dptr++ = _T('\n');
       }
       else
       {
@@ -236,7 +236,7 @@ void CreateObjectImageList(void)
 {
    HICON hIcon;
    DWORD i, dwPos;
-   char szFileName[MAX_PATH];
+   TCHAR szFileName[MAX_PATH];
 
    // Create small (16x16) image list
    if (g_pObjectSmallImageList != NULL)
@@ -250,14 +250,14 @@ void CreateObjectImageList(void)
    g_pObjectNormalImageList = new CImageList;
    g_pObjectNormalImageList->Create(32, 32, ILC_COLOR24 | ILC_MASK, 16, 8);
 
-   strcpy(szFileName, g_szWorkDir);
-   strcat(szFileName, WORKDIR_IMAGECACHE);
-   strcat(szFileName, "\\");
-   dwPos = strlen(szFileName);
+   _tcscpy(szFileName, g_szWorkDir);
+   _tcscat(szFileName, WORKDIR_IMAGECACHE);
+   _tcscat(szFileName, _T("\\"));
+   dwPos = _tcslen(szFileName);
 
    for(i = 0; i < g_pSrvImageList->dwNumImages; i++)
    {
-      sprintf(&szFileName[dwPos], "%08x.ico", g_pSrvImageList->pImageList[i].dwId);
+      _stprintf(&szFileName[dwPos], _T("%08x.ico"), g_pSrvImageList->pImageList[i].dwId);
       
       // Load and add 16x16 image
       hIcon = (HICON)LoadImage(NULL, szFileName, IMAGE_ICON, 16, 16, LR_LOADFROMFILE);
@@ -361,14 +361,14 @@ void UpdateActions(DWORD dwCode, NXC_ACTION *pAction)
             g_dwNumActions++;
             g_pActionList = (NXC_ACTION *)realloc(g_pActionList, sizeof(NXC_ACTION) * g_dwNumActions);
             memcpy(&g_pActionList[i], pAction, sizeof(NXC_ACTION));
-            g_pActionList[i].pszData = strdup(pAction->pszData);
+            g_pActionList[i].pszData = _tcsdup(pAction->pszData);
          }
          else
          {
             // Action with given id already exist, just update it
             safe_free(pCurrAction->pszData);
             memcpy(pCurrAction, pAction, sizeof(NXC_ACTION));
-            pCurrAction->pszData = strdup(pAction->pszData);
+            pCurrAction->pszData = _tcsdup(pAction->pszData);
          }
          break;
       case NX_NOTIFY_ACTION_DELETED: