mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-06-23 06:25:24 +00:00
Cleaning up win32 directory of unused files
We haven't been using VS6 to build Icecast for a while. We won't be bringing back the management UI, as everything is now accessible through either web-ui or start menu. Proper Windows service handling remains on todo list for 2.5.0.
This commit is contained in:
parent
f2de6e9677
commit
8be01705ee
|
@ -1,79 +0,0 @@
|
||||||
// ConfigTab.cpp : implementation file
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "Icecast2win.h"
|
|
||||||
#include "ConfigTab.h"
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CConfigTab dialog
|
|
||||||
|
|
||||||
|
|
||||||
CConfigTab::CConfigTab(CWnd* pParent /*=NULL*/)
|
|
||||||
: CTabPageSSL(CConfigTab::IDD, pParent)
|
|
||||||
{
|
|
||||||
//{{AFX_DATA_INIT(CConfigTab)
|
|
||||||
m_Config = _T("");
|
|
||||||
//}}AFX_DATA_INIT
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CConfigTab::DoDataExchange(CDataExchange* pDX)
|
|
||||||
{
|
|
||||||
CTabPageSSL::DoDataExchange(pDX);
|
|
||||||
//{{AFX_DATA_MAP(CConfigTab)
|
|
||||||
DDX_Control(pDX, IDC_CONFIG, m_ConfigCtrl);
|
|
||||||
DDX_Text(pDX, IDC_CONFIG, m_Config);
|
|
||||||
//}}AFX_DATA_MAP
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(CConfigTab, CTabPageSSL)
|
|
||||||
//{{AFX_MSG_MAP(CConfigTab)
|
|
||||||
ON_EN_KILLFOCUS(IDC_CONFIG, OnKillfocusConfig)
|
|
||||||
//}}AFX_MSG_MAP
|
|
||||||
END_MESSAGE_MAP()
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CConfigTab message handlers
|
|
||||||
|
|
||||||
void CConfigTab::SaveConfiguration()
|
|
||||||
{
|
|
||||||
// TODO: Add your command handler code here
|
|
||||||
// TODO: Add your control notification handler code here
|
|
||||||
FILE *filep;
|
|
||||||
char buffer[2046] = "";
|
|
||||||
CIcecast2winApp *myApp = (CIcecast2winApp *)AfxGetApp();
|
|
||||||
|
|
||||||
UpdateData(TRUE);
|
|
||||||
if (m_Config != "") {
|
|
||||||
filep = fopen(myApp->m_configFile, "w");
|
|
||||||
if (filep) {
|
|
||||||
fputs(LPCSTR(m_Config), filep);
|
|
||||||
fclose(filep);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CConfigTab::OnInitDialog()
|
|
||||||
{
|
|
||||||
CTabPageSSL::OnInitDialog();
|
|
||||||
|
|
||||||
// TODO: Add extra initialization here
|
|
||||||
// AddAnchor(IDC_CONFIG, TOP_LEFT, BOTTOM_RIGHT);
|
|
||||||
|
|
||||||
return TRUE; // return TRUE unless you set the focus to a control
|
|
||||||
// EXCEPTION: OCX Property Pages should return FALSE
|
|
||||||
}
|
|
||||||
|
|
||||||
void CConfigTab::OnKillfocusConfig()
|
|
||||||
{
|
|
||||||
// TODO: Add your control notification handler code here
|
|
||||||
SaveConfiguration();
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
#if !defined(AFX_CONFIGTAB_H__D8B0CC28_59FA_44E8_91A4_377C64F67DCF__INCLUDED_)
|
|
||||||
#define AFX_CONFIGTAB_H__D8B0CC28_59FA_44E8_91A4_377C64F67DCF__INCLUDED_
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
// ConfigTab.h : header file
|
|
||||||
//
|
|
||||||
#include "TabPageSSL.h"
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CConfigTab dialog
|
|
||||||
|
|
||||||
class CConfigTab : public CTabPageSSL
|
|
||||||
{
|
|
||||||
// Construction
|
|
||||||
public:
|
|
||||||
void SaveConfiguration();
|
|
||||||
CConfigTab(CWnd* pParent = NULL); // standard constructor
|
|
||||||
|
|
||||||
// Dialog Data
|
|
||||||
//{{AFX_DATA(CConfigTab)
|
|
||||||
enum { IDD = IDD_CONFIGDIALOG };
|
|
||||||
CEdit m_ConfigCtrl;
|
|
||||||
CString m_Config;
|
|
||||||
//}}AFX_DATA
|
|
||||||
|
|
||||||
|
|
||||||
// Overrides
|
|
||||||
// ClassWizard generated virtual function overrides
|
|
||||||
//{{AFX_VIRTUAL(CConfigTab)
|
|
||||||
protected:
|
|
||||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
||||||
//}}AFX_VIRTUAL
|
|
||||||
|
|
||||||
// Implementation
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Generated message map functions
|
|
||||||
//{{AFX_MSG(CConfigTab)
|
|
||||||
virtual BOOL OnInitDialog();
|
|
||||||
afx_msg void OnKillfocusConfig();
|
|
||||||
//}}AFX_MSG
|
|
||||||
DECLARE_MESSAGE_MAP()
|
|
||||||
};
|
|
||||||
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
#endif // !defined(AFX_CONFIGTAB_H__D8B0CC28_59FA_44E8_91A4_377C64F67DCF__INCLUDED_)
|
|
|
@ -1,149 +0,0 @@
|
||||||
; CLW file contains information for the MFC ClassWizard
|
|
||||||
|
|
||||||
[General Info]
|
|
||||||
Version=1
|
|
||||||
LastClass=CIcecast2winDlg
|
|
||||||
LastTemplate=CDialog
|
|
||||||
NewFileInclude1=#include "stdafx.h"
|
|
||||||
NewFileInclude2=#include "Icecast2win.h"
|
|
||||||
|
|
||||||
ClassCount=6
|
|
||||||
Class1=CIcecast2winApp
|
|
||||||
Class2=CIcecast2winDlg
|
|
||||||
Class3=CAboutDlg
|
|
||||||
|
|
||||||
ResourceCount=10
|
|
||||||
Resource1=IDR_MENU2
|
|
||||||
Resource2=IDR_MAINFRAME
|
|
||||||
Resource3=IDR_TRAY
|
|
||||||
Resource4=IDD_ICECAST2WIN_DIALOG
|
|
||||||
Class4=CStatus
|
|
||||||
Resource5=IDD_SSTATUS
|
|
||||||
Class5=CConfigTab
|
|
||||||
Class6=CStatsTab
|
|
||||||
Resource6=IDD_CONFIGDIALOG
|
|
||||||
Resource7=IDD_STATSDIALOG
|
|
||||||
Resource8=IDR_MENU3
|
|
||||||
Resource9=IDD_ABOUTBOX
|
|
||||||
Resource10=IDR_MENU4
|
|
||||||
|
|
||||||
[CLS:CIcecast2winApp]
|
|
||||||
Type=0
|
|
||||||
HeaderFile=Icecast2win.h
|
|
||||||
ImplementationFile=Icecast2win.cpp
|
|
||||||
Filter=N
|
|
||||||
|
|
||||||
[CLS:CIcecast2winDlg]
|
|
||||||
Type=0
|
|
||||||
HeaderFile=Icecast2winDlg.h
|
|
||||||
ImplementationFile=Icecast2winDlg.cpp
|
|
||||||
Filter=C
|
|
||||||
LastObject=ID_ABOUT_CREDITS
|
|
||||||
BaseClass=CDialog
|
|
||||||
VirtualFilter=dWC
|
|
||||||
|
|
||||||
[CLS:CAboutDlg]
|
|
||||||
Type=0
|
|
||||||
HeaderFile=Icecast2winDlg.h
|
|
||||||
ImplementationFile=Icecast2winDlg.cpp
|
|
||||||
Filter=D
|
|
||||||
|
|
||||||
[DLG:IDD_ABOUTBOX]
|
|
||||||
Type=1
|
|
||||||
Class=CAboutDlg
|
|
||||||
ControlCount=2
|
|
||||||
Control1=IDOK,button,1342373889
|
|
||||||
Control2=IDC_STATIC,static,1350572046
|
|
||||||
|
|
||||||
[DLG:IDD_ICECAST2WIN_DIALOG]
|
|
||||||
Type=1
|
|
||||||
Class=CIcecast2winDlg
|
|
||||||
ControlCount=7
|
|
||||||
Control1=IDC_MAINTAB,SysTabControl32,1342177280
|
|
||||||
Control2=IDC_START,button,1342242816
|
|
||||||
Control3=IDC_AUTOSTART,button,1342251011
|
|
||||||
Control4=IDC_STATIC,static,1342177294
|
|
||||||
Control5=IDC_SERVERSTATUS,static,1342177294
|
|
||||||
Control6=IDC_STATIC_SS,static,1342308865
|
|
||||||
Control7=IDC_HIDESYSTRAY,button,1342242816
|
|
||||||
|
|
||||||
[DLG:IDD_SSTATUS]
|
|
||||||
Type=1
|
|
||||||
Class=CStatus
|
|
||||||
ControlCount=5
|
|
||||||
Control1=IDC_FILLER2,static,1342308352
|
|
||||||
Control2=IDC_GLOBALSTAT_LIST,SysListView32,1350631425
|
|
||||||
Control3=IDC_STATIC_GS,static,1342308352
|
|
||||||
Control4=IDC_STATIC_RUN,static,1342308352
|
|
||||||
Control5=IDC_RUNNINGFOR,static,1342308352
|
|
||||||
|
|
||||||
[CLS:CStatus]
|
|
||||||
Type=0
|
|
||||||
HeaderFile=Status.h
|
|
||||||
ImplementationFile=Status.cpp
|
|
||||||
BaseClass=CTabPageSSL
|
|
||||||
Filter=D
|
|
||||||
LastObject=ID_POPUP_ADDTOGLOBALSTATLIST
|
|
||||||
VirtualFilter=dWC
|
|
||||||
|
|
||||||
[DLG:IDD_CONFIGDIALOG]
|
|
||||||
Type=1
|
|
||||||
Class=CConfigTab
|
|
||||||
ControlCount=1
|
|
||||||
Control1=IDC_CONFIG,edit,1352732868
|
|
||||||
|
|
||||||
[CLS:CConfigTab]
|
|
||||||
Type=0
|
|
||||||
HeaderFile=ConfigTab.h
|
|
||||||
ImplementationFile=ConfigTab.cpp
|
|
||||||
BaseClass=CTabPageSSL
|
|
||||||
Filter=D
|
|
||||||
VirtualFilter=dWC
|
|
||||||
LastObject=IDC_CONFIG
|
|
||||||
|
|
||||||
[DLG:IDD_STATSDIALOG]
|
|
||||||
Type=1
|
|
||||||
Class=CStatsTab
|
|
||||||
ControlCount=4
|
|
||||||
Control1=IDC_STATSLIST,SysListView32,1350631425
|
|
||||||
Control2=IDC_SOURCELIST,SysListView32,1350631425
|
|
||||||
Control3=IDC_STATIC_SLS,static,1342308352
|
|
||||||
Control4=IDC_STATIC,static,1342308352
|
|
||||||
|
|
||||||
[CLS:CStatsTab]
|
|
||||||
Type=0
|
|
||||||
HeaderFile=StatsTab.h
|
|
||||||
ImplementationFile=StatsTab.cpp
|
|
||||||
BaseClass=CTabPageSSL
|
|
||||||
Filter=D
|
|
||||||
VirtualFilter=dWC
|
|
||||||
LastObject=IDC_SOURCELIST
|
|
||||||
|
|
||||||
[MNU:IDR_MENU2]
|
|
||||||
Type=1
|
|
||||||
Class=?
|
|
||||||
Command1=ID_POPUP_ADDTOGLOBALSTATLIST
|
|
||||||
CommandCount=1
|
|
||||||
|
|
||||||
[MNU:IDR_MENU3]
|
|
||||||
Type=1
|
|
||||||
Class=?
|
|
||||||
Command1=ID__DELETEFROMGLOBALSTATS
|
|
||||||
Command2=ID__MAKETHISSTATTHEWINDOWTITLE
|
|
||||||
CommandCount=2
|
|
||||||
|
|
||||||
[MNU:IDR_TRAY]
|
|
||||||
Type=1
|
|
||||||
Class=CIcecast2winDlg
|
|
||||||
Command1=ID_BLANK_RESTORE
|
|
||||||
CommandCount=1
|
|
||||||
|
|
||||||
[MNU:IDR_MENU4]
|
|
||||||
Type=1
|
|
||||||
Class=CIcecast2winDlg
|
|
||||||
Command1=ID_FILE_EXIT
|
|
||||||
Command2=ID_FILE_EDITCONFIGURATION
|
|
||||||
Command3=ID_ABOUT_HELP
|
|
||||||
Command4=ID_ABOUT_CREDITS
|
|
||||||
CommandCount=4
|
|
||||||
|
|
|
@ -1,101 +0,0 @@
|
||||||
// Icecast2win.cpp : Defines the class behaviors for the application.
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "Icecast2win.h"
|
|
||||||
#include "Icecast2winDlg.h"
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
#include "xslt.h"
|
|
||||||
void initialize_subsystems(void);
|
|
||||||
void shutdown_subsystems(void);
|
|
||||||
}
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CIcecast2winApp
|
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(CIcecast2winApp, CWinApp)
|
|
||||||
//{{AFX_MSG_MAP(CIcecast2winApp)
|
|
||||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
|
||||||
// DO NOT EDIT what you see in these blocks of generated code!
|
|
||||||
//}}AFX_MSG
|
|
||||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
|
||||||
END_MESSAGE_MAP()
|
|
||||||
|
|
||||||
#include "colors.h"
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CIcecast2winApp construction
|
|
||||||
|
|
||||||
CIcecast2winApp::CIcecast2winApp()
|
|
||||||
{
|
|
||||||
// TODO: add construction code here,
|
|
||||||
// Place all significant initialization in InitInstance
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// The one and only CIcecast2winApp object
|
|
||||||
|
|
||||||
CIcecast2winApp theApp;
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CIcecast2winApp initialization
|
|
||||||
|
|
||||||
BOOL CIcecast2winApp::InitInstance()
|
|
||||||
{
|
|
||||||
AfxEnableControlContainer();
|
|
||||||
|
|
||||||
// Standard initialization
|
|
||||||
// If you are not using these features and wish to reduce the size
|
|
||||||
// of your final executable, you should remove from the following
|
|
||||||
// the specific initialization routines you do not need.
|
|
||||||
|
|
||||||
initialize_subsystems();
|
|
||||||
if (strlen(m_lpCmdLine) > 0) {
|
|
||||||
strcpy(m_configFile, m_lpCmdLine);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
strcpy(m_configFile, ".\\icecast.xml");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef _AFXDLL
|
|
||||||
Enable3dControls(); // Call this when using MFC in a shared DLL
|
|
||||||
#else
|
|
||||||
Enable3dControlsStatic(); // Call this when linking to MFC statically
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CIcecast2winDlg dlg;
|
|
||||||
m_pMainWnd = &dlg;
|
|
||||||
|
|
||||||
// SetDialogBkColor(BGCOLOR,TEXTCOLOR);
|
|
||||||
|
|
||||||
m_pIconList[0] = LoadIcon (MAKEINTRESOURCE(IDR_MAINFRAME));
|
|
||||||
|
|
||||||
int nResponse = dlg.DoModal();
|
|
||||||
if (nResponse == IDOK)
|
|
||||||
{
|
|
||||||
// TODO: Place code here to handle when the dialog is
|
|
||||||
// dismissed with OK
|
|
||||||
}
|
|
||||||
else if (nResponse == IDCANCEL)
|
|
||||||
{
|
|
||||||
// TODO: Place code here to handle when the dialog is
|
|
||||||
// dismissed with Cancel
|
|
||||||
}
|
|
||||||
|
|
||||||
// Since the dialog has been closed, return FALSE so that we exit the
|
|
||||||
// application, rather than start the application's message pump.
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CIcecast2winApp::ExitInstance()
|
|
||||||
{
|
|
||||||
shutdown_subsystems();
|
|
||||||
return CWinApp::ExitInstance();
|
|
||||||
}
|
|
|
@ -1,274 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="Icecast2win" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
|
||||||
|
|
||||||
CFG=Icecast2win - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "Icecast2win.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!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 "Icecast2win.mak" CFG="Icecast2win - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "Icecast2win - Win32 Release" (based on "Win32 (x86) Application")
|
|
||||||
!MESSAGE "Icecast2win - Win32 Debug" (based on "Win32 (x86) Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
MTL=midl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "Icecast2win - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 5
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 5
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "releasewin_tmp"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../src" /I "../src/httpp" /I "../src/thread" /I "../src/log" /I "../src/avl" /I "../src/net" /I "src/timings" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D PACKAGE_VERSION=\"2.3.2\" /D "USE_YP" /FD /c
|
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 /nologo /subsystem:windows /machine:I386
|
|
||||||
# ADD LINK32 libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib winmm.lib theora_static_d.lib libspeex.lib /nologo /version:2.3 /subsystem:windows /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmtd.lib"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "Icecast2win - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 5
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 5
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "debugwin_tmp"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /Yu"stdafx.h" /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../src" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_WIN32" /D PACKAGE_VERSION=\"2.3.2\" /D "USE_YP" /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"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 libcurl.lib ogg_static_d.lib vorbis_static_d.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib winmm.lib theora_static_d.lib libspeex.lib /nologo /subsystem:windows /incremental:no /debug /machine:I386 /nodefaultlib:"libcd.lib" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "Icecast2win - Win32 Release"
|
|
||||||
# Name "Icecast2win - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\ConfigTab.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Icecast2win.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Icecast2win.rc
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Icecast2winDlg.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=\xiph\icecast\trunk\icecast\src\main.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\StatsTab.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Status.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\StdAfx.cpp
|
|
||||||
# ADD CPP /Yc"stdafx.h"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\TabCtrlSSL.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\TabCtrlSSL.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\TabPageSSL.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\TabPageSSL.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Traynot.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\TRAYNOT.H
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\colors.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\ConfigTab.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Icecast2win.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Icecast2winDlg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Resource.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\StatsTab.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Status.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\StdAfx.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\bitmap1.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\bitmap2.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\black.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\credits.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\cursor1.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\cursor2.cur
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\green1.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\icecast.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\Icecast2.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\res\Icecast2.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\icecast2logo2.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\icecast2title.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\res\Icecast2win.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\res\Icecast2win.rc2
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\ico00001.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\icon1.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\icon2.ico
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\running.bmp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\stopped.bmp
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\ReadMe.txt
|
|
||||||
# End Source File
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,83 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "Icecast2win"=.\Icecast2win.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name libxml
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name icecast
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name icecastService
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name icecast2 console
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "icecast"=.\icecast.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "icecast2 console"=.\icecast2_console.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name icecast
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "icecastService"=.\icecastService.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name icecast
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,53 +0,0 @@
|
||||||
// Icecast2win.h : main header file for the ICECAST2WIN application
|
|
||||||
//
|
|
||||||
|
|
||||||
#if !defined(AFX_ICECAST2WIN_H__76A528C9_A424_4417_BFDF_0E556A9EE4F1__INCLUDED_)
|
|
||||||
#define AFX_ICECAST2WIN_H__76A528C9_A424_4417_BFDF_0E556A9EE4F1__INCLUDED_
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
|
|
||||||
#ifndef __AFXWIN_H__
|
|
||||||
#error include 'stdafx.h' before including this file for PCH
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "resource.h" // main symbols
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CIcecast2winApp:
|
|
||||||
// See Icecast2win.cpp for the implementation of this class
|
|
||||||
//
|
|
||||||
|
|
||||||
class CIcecast2winApp : public CWinApp
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
char m_configFile[1024];
|
|
||||||
HICON m_pIconList[2];
|
|
||||||
CIcecast2winApp();
|
|
||||||
|
|
||||||
// Overrides
|
|
||||||
// ClassWizard generated virtual function overrides
|
|
||||||
//{{AFX_VIRTUAL(CIcecast2winApp)
|
|
||||||
public:
|
|
||||||
virtual BOOL InitInstance();
|
|
||||||
virtual int ExitInstance();
|
|
||||||
//}}AFX_VIRTUAL
|
|
||||||
|
|
||||||
// Implementation
|
|
||||||
|
|
||||||
//{{AFX_MSG(CIcecast2winApp)
|
|
||||||
// NOTE - the ClassWizard will add and remove member functions here.
|
|
||||||
// DO NOT EDIT what you see in these blocks of generated code !
|
|
||||||
//}}AFX_MSG
|
|
||||||
DECLARE_MESSAGE_MAP()
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
extern CIcecast2winApp theApp;
|
|
||||||
#endif // !defined(AFX_ICECAST2WIN_H__76A528C9_A424_4417_BFDF_0E556A9EE4F1__INCLUDED_)
|
|
|
@ -1,300 +0,0 @@
|
||||||
//Microsoft Developer Studio generated resource script.
|
|
||||||
//
|
|
||||||
#include "resource.h"
|
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Generated from the TEXTINCLUDE 2 resource.
|
|
||||||
//
|
|
||||||
#include "afxres.h"
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// English (U.S.) resources
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
||||||
#ifdef _WIN32
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|
||||||
#pragma code_page(1252)
|
|
||||||
#endif //_WIN32
|
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// TEXTINCLUDE
|
|
||||||
//
|
|
||||||
|
|
||||||
1 TEXTINCLUDE DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
"resource.h\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
2 TEXTINCLUDE DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
"#include ""afxres.h""\r\n"
|
|
||||||
"\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
3 TEXTINCLUDE DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
|
||||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
|
||||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
|
||||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
|
||||||
"\r\n"
|
|
||||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
|
|
||||||
"#ifdef _WIN32\r\n"
|
|
||||||
"LANGUAGE 9, 1\r\n"
|
|
||||||
"#pragma code_page(1252)\r\n"
|
|
||||||
"#endif //_WIN32\r\n"
|
|
||||||
"#include ""res\\Icecast2win.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
|
||||||
"#include ""afxres.rc"" // Standard components\r\n"
|
|
||||||
"#endif\r\n"
|
|
||||||
"\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif // APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Dialog
|
|
||||||
//
|
|
||||||
|
|
||||||
IDD_ABOUTBOX DIALOG DISCARDABLE 0, 0, 375, 163
|
|
||||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
|
||||||
CAPTION "Icecast Credits"
|
|
||||||
FONT 8, "MS Sans Serif"
|
|
||||||
BEGIN
|
|
||||||
DEFPUSHBUTTON "OK",IDOK,157,141,50,14,WS_GROUP
|
|
||||||
CONTROL 163,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE |
|
|
||||||
SS_SUNKEN | WS_BORDER,7,7,361,145
|
|
||||||
END
|
|
||||||
|
|
||||||
IDD_ICECAST2WIN_DIALOG DIALOGEX 0, 0, 326, 259
|
|
||||||
STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
|
|
||||||
WS_SYSMENU | WS_THICKFRAME
|
|
||||||
EXSTYLE WS_EX_APPWINDOW
|
|
||||||
MENU IDR_MENU4
|
|
||||||
FONT 8, "MS Sans Serif"
|
|
||||||
BEGIN
|
|
||||||
CONTROL "Tab1",IDC_MAINTAB,"SysTabControl32",0x0,0,49,326,210
|
|
||||||
PUSHBUTTON "Start Server",IDC_START,17,31,56,14
|
|
||||||
CONTROL "Start Server on Application Startup",IDC_AUTOSTART,
|
|
||||||
"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,76,
|
|
||||||
29,81,17
|
|
||||||
CONTROL 164,IDC_STATIC,"Static",SS_BITMAP,0,0,117,20
|
|
||||||
CONTROL 151,IDC_SERVERSTATUS,"Static",SS_BITMAP,173,32,65,18,
|
|
||||||
WS_EX_CLIENTEDGE
|
|
||||||
CTEXT "Server Status",IDC_STATIC_SS,172,23,65,10,
|
|
||||||
SS_CENTERIMAGE
|
|
||||||
PUSHBUTTON "Hide To Systray",IDC_HIDESYSTRAY,262,22,58,12
|
|
||||||
END
|
|
||||||
|
|
||||||
IDD_SSTATUS DIALOG DISCARDABLE 0, 0, 320, 210
|
|
||||||
STYLE WS_CHILD
|
|
||||||
FONT 8, "MS Sans Serif"
|
|
||||||
BEGIN
|
|
||||||
LTEXT "",IDC_FILLER2,0,199,319,11
|
|
||||||
CONTROL "List1",IDC_GLOBALSTAT_LIST,"SysListView32",LVS_REPORT |
|
|
||||||
WS_BORDER | WS_TABSTOP,9,34,300,147
|
|
||||||
LTEXT "Global Statistics",IDC_STATIC_GS,9,6,300,10
|
|
||||||
LTEXT "Server Has Been Running For ",IDC_STATIC_RUN,10,19,109,
|
|
||||||
8
|
|
||||||
LTEXT "",IDC_RUNNINGFOR,121,19,156,8
|
|
||||||
END
|
|
||||||
|
|
||||||
IDD_CONFIGDIALOG DIALOG DISCARDABLE 0, 0, 320, 210
|
|
||||||
STYLE WS_CHILD
|
|
||||||
FONT 8, "MS Sans Serif"
|
|
||||||
BEGIN
|
|
||||||
EDITTEXT IDC_CONFIG,0,0,320,210,ES_MULTILINE | ES_AUTOVSCROLL |
|
|
||||||
ES_AUTOHSCROLL | ES_WANTRETURN | WS_VSCROLL
|
|
||||||
END
|
|
||||||
|
|
||||||
IDD_STATSDIALOG DIALOG DISCARDABLE 0, 0, 320, 210
|
|
||||||
STYLE WS_CHILD
|
|
||||||
FONT 8, "MS Sans Serif"
|
|
||||||
BEGIN
|
|
||||||
CONTROL "List1",IDC_STATSLIST,"SysListView32",LVS_REPORT |
|
|
||||||
WS_BORDER | WS_TABSTOP,142,34,163,147
|
|
||||||
CONTROL "List2",IDC_SOURCELIST,"SysListView32",LVS_REPORT |
|
|
||||||
WS_BORDER | WS_TABSTOP,9,34,111,147
|
|
||||||
LTEXT "Source Level Statistics",IDC_STATIC_SLS,9,7,300,10
|
|
||||||
LTEXT "Click source to view statistics",IDC_STATIC,18,25,111,8
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _MAC
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Version
|
|
||||||
//
|
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
|
||||||
FILEVERSION 1,0,0,1
|
|
||||||
PRODUCTVERSION 1,0,0,1
|
|
||||||
FILEFLAGSMASK 0x3fL
|
|
||||||
#ifdef _DEBUG
|
|
||||||
FILEFLAGS 0x1L
|
|
||||||
#else
|
|
||||||
FILEFLAGS 0x0L
|
|
||||||
#endif
|
|
||||||
FILEOS 0x4L
|
|
||||||
FILETYPE 0x1L
|
|
||||||
FILESUBTYPE 0x0L
|
|
||||||
BEGIN
|
|
||||||
BLOCK "StringFileInfo"
|
|
||||||
BEGIN
|
|
||||||
BLOCK "040904B0"
|
|
||||||
BEGIN
|
|
||||||
VALUE "CompanyName", "\0"
|
|
||||||
VALUE "FileDescription", "Icecast2win MFC Application\0"
|
|
||||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
|
||||||
VALUE "InternalName", "Icecast2win\0"
|
|
||||||
VALUE "LegalCopyright", "Copyright (C) 2001\0"
|
|
||||||
VALUE "LegalTrademarks", "\0"
|
|
||||||
VALUE "OriginalFilename", "Icecast2win.EXE\0"
|
|
||||||
VALUE "ProductName", "Icecast2win Application\0"
|
|
||||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
|
||||||
END
|
|
||||||
END
|
|
||||||
BLOCK "VarFileInfo"
|
|
||||||
BEGIN
|
|
||||||
VALUE "Translation", 0x409, 1200
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif // !_MAC
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// DESIGNINFO
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
GUIDELINES DESIGNINFO DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
IDD_ABOUTBOX, DIALOG
|
|
||||||
BEGIN
|
|
||||||
LEFTMARGIN, 7
|
|
||||||
RIGHTMARGIN, 368
|
|
||||||
TOPMARGIN, 7
|
|
||||||
BOTTOMMARGIN, 155
|
|
||||||
END
|
|
||||||
END
|
|
||||||
#endif // APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Bitmap
|
|
||||||
//
|
|
||||||
|
|
||||||
IDB_BITMAP4 BITMAP DISCARDABLE "black.bmp"
|
|
||||||
IDB_BITMAP5 BITMAP DISCARDABLE "stopped.bmp"
|
|
||||||
IDB_BITMAP6 BITMAP DISCARDABLE "running.bmp"
|
|
||||||
IDB_BITMAP7 BITMAP DISCARDABLE "icecast2logo2.bmp"
|
|
||||||
IDB_BITMAP8 BITMAP DISCARDABLE "credits.bmp"
|
|
||||||
IDB_BITMAP9 BITMAP DISCARDABLE "icecast2title.bmp"
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Icon
|
|
||||||
//
|
|
||||||
|
|
||||||
// Icon with lowest ID value placed first to ensure application icon
|
|
||||||
// remains consistent on all systems.
|
|
||||||
IDR_MAINFRAME ICON DISCARDABLE "icecast.ico"
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Menu
|
|
||||||
//
|
|
||||||
|
|
||||||
IDR_MENU2 MENU DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
POPUP "Popup"
|
|
||||||
BEGIN
|
|
||||||
MENUITEM "Add To Global Stat List", ID_POPUP_ADDTOGLOBALSTATLIST
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
IDR_MENU3 MENU DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
POPUP " "
|
|
||||||
BEGIN
|
|
||||||
MENUITEM "Delete From Global Stats", ID__DELETEFROMGLOBALSTATS
|
|
||||||
MENUITEM "Make this stat the window title",
|
|
||||||
ID__MAKETHISSTATTHEWINDOWTITLE
|
|
||||||
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
IDR_TRAY MENU DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
POPUP "Blank"
|
|
||||||
BEGIN
|
|
||||||
MENUITEM "Restore", ID_BLANK_RESTORE
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
IDR_MENU4 MENU DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
POPUP "&File"
|
|
||||||
BEGIN
|
|
||||||
MENUITEM "E&xit", ID_FILE_EXIT
|
|
||||||
END
|
|
||||||
POPUP "C&onfiguration"
|
|
||||||
BEGIN
|
|
||||||
MENUITEM "&Edit Configuration", ID_FILE_EDITCONFIGURATION
|
|
||||||
END
|
|
||||||
POPUP "&About"
|
|
||||||
BEGIN
|
|
||||||
MENUITEM "H&elp", ID_ABOUT_HELP
|
|
||||||
MENUITEM "Cr&edits", ID_ABOUT_CREDITS
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// String Table
|
|
||||||
//
|
|
||||||
|
|
||||||
STRINGTABLE DISCARDABLE
|
|
||||||
BEGIN
|
|
||||||
IDS_ABOUTBOX "&About Icecast2win..."
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif // English (U.S.) resources
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef APSTUDIO_INVOKED
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Generated from the TEXTINCLUDE 3 resource.
|
|
||||||
//
|
|
||||||
#define _AFX_NO_SPLITTER_RESOURCES
|
|
||||||
#define _AFX_NO_OLE_RESOURCES
|
|
||||||
#define _AFX_NO_TRACKER_RESOURCES
|
|
||||||
#define _AFX_NO_PROPERTY_RESOURCES
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
||||||
#ifdef _WIN32
|
|
||||||
LANGUAGE 9, 1
|
|
||||||
#pragma code_page(1252)
|
|
||||||
#endif //_WIN32
|
|
||||||
#include "res\Icecast2win.rc2" // non-Microsoft Visual C++ edited resources
|
|
||||||
#include "afxres.rc" // Standard components
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#endif // not APSTUDIO_INVOKED
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,125 +0,0 @@
|
||||||
// Icecast2winDlg.h : header file
|
|
||||||
//
|
|
||||||
|
|
||||||
#if !defined(AFX_ICECAST2WINDLG_H__23B4DA8B_C9BC_49C8_A62C_37FC6BC5E54A__INCLUDED_)
|
|
||||||
#define AFX_ICECAST2WINDLG_H__23B4DA8B_C9BC_49C8_A62C_37FC6BC5E54A__INCLUDED_
|
|
||||||
|
|
||||||
#include "TabCtrlSSL.h"
|
|
||||||
#include "TabPageSSL.h"
|
|
||||||
|
|
||||||
#include "ConfigTab.h"
|
|
||||||
#include "StatsTab.h"
|
|
||||||
#include "Status.h"
|
|
||||||
#include "TrayNot.h"
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CIcecast2winDlg dialog
|
|
||||||
|
|
||||||
class CIcecast2winDlg : public CDialog
|
|
||||||
{
|
|
||||||
// Construction
|
|
||||||
public:
|
|
||||||
time_t serverStart;
|
|
||||||
void config_read();
|
|
||||||
void config_write();
|
|
||||||
void UpdateStatsLists();
|
|
||||||
CConfigTab configTab;
|
|
||||||
CStatsTab statsTab;
|
|
||||||
CStatus statusTab;
|
|
||||||
int m_colSource0Width;
|
|
||||||
int m_colStats0Width;
|
|
||||||
int m_colStats1Width;
|
|
||||||
int m_colGStats0Width;
|
|
||||||
int m_colGStats1Width;
|
|
||||||
int m_colGStats2Width;
|
|
||||||
CFont labelFont;
|
|
||||||
CBitmap runningBitmap;
|
|
||||||
CBitmap stoppedBitmap;
|
|
||||||
CTrayNot* m_pTray;
|
|
||||||
BOOL m_bHidden;
|
|
||||||
int m_iconSwap;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void StopServer();
|
|
||||||
bool m_isRunning;
|
|
||||||
void DisableControl(UINT control);
|
|
||||||
void EnableControl(UINT control);
|
|
||||||
void getTag(char *pbuf, char *ptag, char *dest);
|
|
||||||
CString m_ErrorLog;
|
|
||||||
CString m_AccessLog;
|
|
||||||
void ParseConfig();
|
|
||||||
void LoadConfig();
|
|
||||||
CIcecast2winDlg(CWnd* pParent = NULL); // standard constructor
|
|
||||||
|
|
||||||
// Dialog Data
|
|
||||||
//{{AFX_DATA(CIcecast2winDlg)
|
|
||||||
enum { IDD = IDD_ICECAST2WIN_DIALOG };
|
|
||||||
CStatic m_SS;
|
|
||||||
CStatic m_ServerStatusBitmap;
|
|
||||||
CStatic m_iceLogo;
|
|
||||||
CButton m_StartButton;
|
|
||||||
CEdit m_StatsEditCtrl;
|
|
||||||
CEdit m_ConfigEditCtrl;
|
|
||||||
CEdit m_ErrorEditCtrl;
|
|
||||||
CEdit m_AccessEditCtrl;
|
|
||||||
CTabCtrlSSL m_MainTab;
|
|
||||||
CString m_AccessEdit;
|
|
||||||
CString m_ErrorEdit;
|
|
||||||
CString m_ConfigEdit;
|
|
||||||
CString m_ServerStatus;
|
|
||||||
CString m_SourcesConnected;
|
|
||||||
CString m_NumClients;
|
|
||||||
FILE *filep_accesslog;
|
|
||||||
FILE *filep_errorlog;
|
|
||||||
CString m_StatsEdit;
|
|
||||||
BOOL m_Autostart;
|
|
||||||
//}}AFX_DATA
|
|
||||||
|
|
||||||
// ClassWizard generated virtual function overrides
|
|
||||||
//{{AFX_VIRTUAL(CIcecast2winDlg)
|
|
||||||
protected:
|
|
||||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
||||||
//}}AFX_VIRTUAL
|
|
||||||
|
|
||||||
// Implementation
|
|
||||||
protected:
|
|
||||||
HICON m_hIcon;
|
|
||||||
|
|
||||||
// Generated message map functions
|
|
||||||
//{{AFX_MSG(CIcecast2winDlg)
|
|
||||||
virtual BOOL OnInitDialog();
|
|
||||||
virtual void OnCancel();
|
|
||||||
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
|
|
||||||
afx_msg void OnPaint();
|
|
||||||
afx_msg HCURSOR OnQueryDragIcon();
|
|
||||||
afx_msg void OnSelchangeMaintab(NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
afx_msg void OnFileExit();
|
|
||||||
afx_msg void OnTimer(UINT nIDEvent);
|
|
||||||
afx_msg void OnFileStartserver();
|
|
||||||
afx_msg void OnFileStopserver();
|
|
||||||
afx_msg void OnStart();
|
|
||||||
afx_msg void OnClose();
|
|
||||||
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
||||||
afx_msg void OnHidesystray();
|
|
||||||
afx_msg void OnHide();
|
|
||||||
afx_msg void OnBlankRestore();
|
|
||||||
afx_msg LONG OnTrayNotify ( WPARAM wParam, LPARAM lParam );
|
|
||||||
afx_msg void OnDestroy();
|
|
||||||
afx_msg void OnFileEditconfiguration();
|
|
||||||
afx_msg void OnAboutHelp();
|
|
||||||
afx_msg void OnAboutCredits();
|
|
||||||
//}}AFX_MSG
|
|
||||||
DECLARE_MESSAGE_MAP()
|
|
||||||
};
|
|
||||||
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
#endif // !defined(AFX_ICECAST2WINDLG_H__23B4DA8B_C9BC_49C8_A62C_37FC6BC5E54A__INCLUDED_)
|
|
|
@ -2,15 +2,5 @@
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign
|
AUTOMAKE_OPTIONS = foreign
|
||||||
|
|
||||||
SUBDIRS = res
|
EXTRA_DIST = dllbundler.sh icecast2logo2.bmp icecast2logo3.bmp \
|
||||||
|
icecast2title.bmp icecast.ico icecast.nsis
|
||||||
EXTRA_DIST = ConfigTab.cpp ConfigTab.h Icecast2win.clw Icecast2win.cpp \
|
|
||||||
Icecast2win.dsp Icecast2win.dsw Icecast2win.h Icecast2win.rc \
|
|
||||||
Icecast2winDlg.cpp Icecast2winDlg.h Makefile.am \
|
|
||||||
StatsTab.cpp StatsTab.h Status.cpp Status.h StdAfx.cpp \
|
|
||||||
StdAfx.h TabCtrlSSL.cpp TabCtrlSSL.h TabPageSSL.cpp TabPageSSL.h black.bmp \
|
|
||||||
colors.h icecast.dsp icecast.ico icecast2.iss icecast2logo2.bmp\
|
|
||||||
resource.h running.bmp stopped.bmp TRAYNOT.h Traynot.cpp \
|
|
||||||
icecast2_console.dsw icecast2_console.dsp credits.bmp icecast2title.bmp \
|
|
||||||
icecastService.cpp icecastService.dsp
|
|
||||||
|
|
||||||
|
|
|
@ -1,149 +0,0 @@
|
||||||
// StatsTab.cpp : implementation file
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "Icecast2win.h"
|
|
||||||
#include "StatsTab.h"
|
|
||||||
|
|
||||||
#include "Icecast2winDlg.h"
|
|
||||||
|
|
||||||
extern CIcecast2winDlg *g_mainDialog;
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern void AddToAdditionalGlobalStats(CString source, CString name);
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CStatsTab dialog
|
|
||||||
|
|
||||||
|
|
||||||
CStatsTab::CStatsTab(CWnd* pParent /*=NULL*/)
|
|
||||||
: CTabPageSSL(CStatsTab::IDD, pParent)
|
|
||||||
{
|
|
||||||
//{{AFX_DATA_INIT(CStatsTab)
|
|
||||||
// NOTE: the ClassWizard will add member initialization here
|
|
||||||
//}}AFX_DATA_INIT
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CStatsTab::DoDataExchange(CDataExchange* pDX)
|
|
||||||
{
|
|
||||||
CTabPageSSL::DoDataExchange(pDX);
|
|
||||||
//{{AFX_DATA_MAP(CStatsTab)
|
|
||||||
DDX_Control(pDX, IDC_STATIC_SLS, m_SLS);
|
|
||||||
DDX_Control(pDX, IDC_STATSLIST, m_StatsListCtrl);
|
|
||||||
DDX_Control(pDX, IDC_SOURCELIST, m_SourceListCtrl);
|
|
||||||
//}}AFX_DATA_MAP
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(CStatsTab, CTabPageSSL)
|
|
||||||
//{{AFX_MSG_MAP(CStatsTab)
|
|
||||||
ON_NOTIFY(NM_DBLCLK, IDC_SOURCELIST, OnDblclkSourcelist)
|
|
||||||
ON_NOTIFY(NM_RCLICK, IDC_STATSLIST, OnRclickStatslist)
|
|
||||||
ON_NOTIFY(NM_CLICK, IDC_SOURCELIST, OnClickSourcelist)
|
|
||||||
//}}AFX_MSG_MAP
|
|
||||||
END_MESSAGE_MAP()
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CStatsTab message handlers
|
|
||||||
|
|
||||||
BOOL CStatsTab::OnInitDialog()
|
|
||||||
{
|
|
||||||
CTabPageSSL::OnInitDialog();
|
|
||||||
|
|
||||||
// TODO: Add extra initialization here
|
|
||||||
m_SourceListCtrl.InsertColumn(0, _T("Source"), LVCFMT_LEFT, m_colSource0Width);
|
|
||||||
m_StatsListCtrl.InsertColumn(0, _T("Statistic"), LVCFMT_LEFT, m_colStats0Width);
|
|
||||||
m_StatsListCtrl.InsertColumn(1, _T("Value"), LVCFMT_LEFT, m_colStats1Width);
|
|
||||||
|
|
||||||
// AddAnchor(IDC_STATSLIST, TOP_LEFT, BOTTOM_RIGHT);
|
|
||||||
// AddAnchor(IDC_SOURCELIST, TOP_LEFT, BOTTOM_LEFT);
|
|
||||||
// AddAnchor(IDC_FILLER1, BOTTOM_LEFT, BOTTOM_RIGHT);
|
|
||||||
|
|
||||||
m_SourceListCtrl.SetSelectionMark(0);
|
|
||||||
m_SLS.SetFont(&(g_mainDialog->labelFont), TRUE);
|
|
||||||
|
|
||||||
return TRUE; // return TRUE unless you set the focus to a control
|
|
||||||
// EXCEPTION: OCX Property Pages should return FALSE
|
|
||||||
}
|
|
||||||
|
|
||||||
void CStatsTab::OnDblclkSourcelist(NMHDR* pNMHDR, LRESULT* pResult)
|
|
||||||
{
|
|
||||||
// TODO: Add your control notification handler code here
|
|
||||||
g_mainDialog->statsTab.m_StatsListCtrl.DeleteAllItems();
|
|
||||||
g_mainDialog->UpdateStatsLists();
|
|
||||||
*pResult = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CStatsTab::OnRclickStatslist(NMHDR* pNMHDR, LRESULT* pResult)
|
|
||||||
{
|
|
||||||
// TODO: Add your control notification handler code here
|
|
||||||
CMenu menu;
|
|
||||||
|
|
||||||
|
|
||||||
CPoint point;
|
|
||||||
::GetCursorPos(&point); //where is the mouse?
|
|
||||||
|
|
||||||
DWORD dwSelectionMade;
|
|
||||||
menu.LoadMenu(IDR_MENU2);
|
|
||||||
CMenu *pmenuPopup = menu.GetSubMenu(0);
|
|
||||||
dwSelectionMade = pmenuPopup->TrackPopupMenu( (TPM_LEFTALIGN|TPM_LEFTBUTTON|
|
|
||||||
TPM_NONOTIFY|TPM_RETURNCMD),
|
|
||||||
point.x, point.y, this);
|
|
||||||
|
|
||||||
pmenuPopup->DestroyMenu();
|
|
||||||
char msg[255] ="";
|
|
||||||
char buffer[1024] = "";
|
|
||||||
char buffer2[1024] = "";
|
|
||||||
|
|
||||||
CString name;
|
|
||||||
CString source;
|
|
||||||
POSITION pos;
|
|
||||||
switch (dwSelectionMade) {
|
|
||||||
case ID_POPUP_ADDTOGLOBALSTATLIST :
|
|
||||||
pos = m_StatsListCtrl.GetFirstSelectedItemPosition();
|
|
||||||
if (pos != NULL) {
|
|
||||||
int nItem = m_StatsListCtrl.GetNextSelectedItem(pos);
|
|
||||||
LVITEM lvi;
|
|
||||||
|
|
||||||
lvi.mask = LVIF_TEXT;
|
|
||||||
lvi.iItem = nItem;
|
|
||||||
lvi.iSubItem = 0;
|
|
||||||
lvi.pszText = buffer;
|
|
||||||
lvi.cchTextMax = sizeof(buffer);
|
|
||||||
m_StatsListCtrl.GetItem(&lvi);
|
|
||||||
name = buffer;
|
|
||||||
}
|
|
||||||
pos = m_SourceListCtrl.GetFirstSelectedItemPosition();
|
|
||||||
if (pos != NULL) {
|
|
||||||
int nItem = m_SourceListCtrl.GetNextSelectedItem(pos);
|
|
||||||
LVITEM lvi;
|
|
||||||
|
|
||||||
lvi.mask = LVIF_TEXT;
|
|
||||||
lvi.iItem = nItem;
|
|
||||||
lvi.iSubItem = 0;
|
|
||||||
lvi.pszText = buffer2;
|
|
||||||
lvi.cchTextMax = sizeof(buffer2);
|
|
||||||
m_SourceListCtrl.GetItem(&lvi);
|
|
||||||
source = buffer2;
|
|
||||||
}
|
|
||||||
AddToAdditionalGlobalStats(source, name);
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
*pResult = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CStatsTab::OnClickSourcelist(NMHDR* pNMHDR, LRESULT* pResult)
|
|
||||||
{
|
|
||||||
// TODO: Add your control notification handler code here
|
|
||||||
OnDblclkSourcelist(pNMHDR, pResult);
|
|
||||||
*pResult = 0;
|
|
||||||
}
|
|
|
@ -1,55 +0,0 @@
|
||||||
#if !defined(AFX_STATSTAB_H__64B82CAB_8D6D_45A6_84FD_666F6317E5F2__INCLUDED_)
|
|
||||||
#define AFX_STATSTAB_H__64B82CAB_8D6D_45A6_84FD_666F6317E5F2__INCLUDED_
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
// StatsTab.h : header file
|
|
||||||
//
|
|
||||||
#include "TabPageSSL.h"
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CStatsTab dialog
|
|
||||||
|
|
||||||
class CStatsTab : public CTabPageSSL
|
|
||||||
{
|
|
||||||
// Construction
|
|
||||||
public:
|
|
||||||
int m_colStats1Width;
|
|
||||||
int m_colStats0Width;
|
|
||||||
int m_colSource0Width;
|
|
||||||
CStatsTab(CWnd* pParent = NULL); // standard constructor
|
|
||||||
|
|
||||||
// Dialog Data
|
|
||||||
//{{AFX_DATA(CStatsTab)
|
|
||||||
enum { IDD = IDD_STATSDIALOG };
|
|
||||||
CStatic m_SLS;
|
|
||||||
CListCtrl m_StatsListCtrl;
|
|
||||||
CListCtrl m_SourceListCtrl;
|
|
||||||
//}}AFX_DATA
|
|
||||||
|
|
||||||
|
|
||||||
// Overrides
|
|
||||||
// ClassWizard generated virtual function overrides
|
|
||||||
//{{AFX_VIRTUAL(CStatsTab)
|
|
||||||
protected:
|
|
||||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
||||||
//}}AFX_VIRTUAL
|
|
||||||
|
|
||||||
// Implementation
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Generated message map functions
|
|
||||||
//{{AFX_MSG(CStatsTab)
|
|
||||||
virtual BOOL OnInitDialog();
|
|
||||||
afx_msg void OnDblclkSourcelist(NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
afx_msg void OnRclickStatslist(NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
afx_msg void OnClickSourcelist(NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
//}}AFX_MSG
|
|
||||||
DECLARE_MESSAGE_MAP()
|
|
||||||
};
|
|
||||||
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
#endif // !defined(AFX_STATSTAB_H__64B82CAB_8D6D_45A6_84FD_666F6317E5F2__INCLUDED_)
|
|
160
win32/Status.cpp
160
win32/Status.cpp
|
@ -1,160 +0,0 @@
|
||||||
// Status.cpp : implementation file
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "Icecast2win.h"
|
|
||||||
#include "Status.h"
|
|
||||||
|
|
||||||
#include "Icecast2winDlg.h"
|
|
||||||
|
|
||||||
extern CIcecast2winDlg *g_mainDialog;
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern void RemoveFromAdditionalGlobalStats(CString source, CString name);
|
|
||||||
extern void AddToTitleAdditionalGlobalStats(CString source, CString name);
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CStatus dialog
|
|
||||||
|
|
||||||
|
|
||||||
CStatus::CStatus(CWnd* pParent /*=NULL*/)
|
|
||||||
: CTabPageSSL(CStatus::IDD, pParent)
|
|
||||||
{
|
|
||||||
//{{AFX_DATA_INIT(CStatus)
|
|
||||||
m_Clients = _T("");
|
|
||||||
m_Sources = _T("");
|
|
||||||
m_RunningFor = _T("");
|
|
||||||
//}}AFX_DATA_INIT
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CStatus::DoDataExchange(CDataExchange* pDX)
|
|
||||||
{
|
|
||||||
CTabPageSSL::DoDataExchange(pDX);
|
|
||||||
//{{AFX_DATA_MAP(CStatus)
|
|
||||||
DDX_Control(pDX, IDC_STATIC_GS, m_GS);
|
|
||||||
DDX_Control(pDX, IDC_GLOBALSTAT_LIST, m_GlobalStatList);
|
|
||||||
DDX_Text(pDX, IDC_RUNNINGFOR, m_RunningFor);
|
|
||||||
//}}AFX_DATA_MAP
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(CStatus, CTabPageSSL)
|
|
||||||
//{{AFX_MSG_MAP(CStatus)
|
|
||||||
ON_NOTIFY(NM_RCLICK, IDC_GLOBALSTAT_LIST, OnRclickGlobalstatList)
|
|
||||||
//}}AFX_MSG_MAP
|
|
||||||
END_MESSAGE_MAP()
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CStatus message handlers
|
|
||||||
|
|
||||||
BOOL CStatus::OnInitDialog()
|
|
||||||
{
|
|
||||||
CTabPageSSL::OnInitDialog();
|
|
||||||
|
|
||||||
|
|
||||||
m_GlobalStatList.InsertColumn(0, _T("Stat Type"), LVCFMT_LEFT, m_colStats0Width);
|
|
||||||
m_GlobalStatList.InsertColumn(1, _T("Name"), LVCFMT_LEFT, m_colStats1Width);
|
|
||||||
m_GlobalStatList.InsertColumn(2, _T("Value"), LVCFMT_LEFT, m_colStats2Width);
|
|
||||||
|
|
||||||
m_GlobalStatList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
|
||||||
// TODO: Add extra initialization here
|
|
||||||
// AddAnchor(IDC_FILLER2, BOTTOM_LEFT, BOTTOM_RIGHT);
|
|
||||||
// AddAnchor(IDC_GLOBALSTAT_LIST, TOP_LEFT, BOTTOM_RIGHT);
|
|
||||||
// AddAnchor(IDC_STATIC_RUN, BOTTOM_LEFT, BOTTOM_RIGHT);
|
|
||||||
// AddAnchor(IDC_RUNNINGFOR, BOTTOM_LEFT, BOTTOM_RIGHT);
|
|
||||||
|
|
||||||
m_GS.SetFont(&(g_mainDialog->labelFont), TRUE);
|
|
||||||
|
|
||||||
return TRUE; // return TRUE unless you set the focus to a control
|
|
||||||
// EXCEPTION: OCX Property Pages should return FALSE
|
|
||||||
}
|
|
||||||
|
|
||||||
void CStatus::OnRclickGlobalstatList(NMHDR* pNMHDR, LRESULT* pResult)
|
|
||||||
{
|
|
||||||
// TODO: Add your control notification handler code here
|
|
||||||
CMenu menu;
|
|
||||||
|
|
||||||
|
|
||||||
CPoint point;
|
|
||||||
::GetCursorPos(&point); //where is the mouse?
|
|
||||||
|
|
||||||
DWORD dwSelectionMade;
|
|
||||||
menu.LoadMenu(IDR_MENU3);
|
|
||||||
CMenu *pmenuPopup = menu.GetSubMenu(0);
|
|
||||||
dwSelectionMade = pmenuPopup->TrackPopupMenu( (TPM_LEFTALIGN|TPM_LEFTBUTTON|
|
|
||||||
TPM_NONOTIFY|TPM_RETURNCMD),
|
|
||||||
point.x, point.y, this);
|
|
||||||
|
|
||||||
pmenuPopup->DestroyMenu();
|
|
||||||
char msg[255] ="";
|
|
||||||
char buffer[1024] = "";
|
|
||||||
char buffer2[1024] = "";
|
|
||||||
|
|
||||||
CString name;
|
|
||||||
CString source;
|
|
||||||
POSITION pos;
|
|
||||||
int nItem;
|
|
||||||
switch (dwSelectionMade) {
|
|
||||||
case ID__DELETEFROMGLOBALSTATS :
|
|
||||||
pos = m_GlobalStatList.GetFirstSelectedItemPosition();
|
|
||||||
if (pos != NULL) {
|
|
||||||
nItem = m_GlobalStatList.GetNextSelectedItem(pos);
|
|
||||||
LVITEM lvi;
|
|
||||||
|
|
||||||
lvi.mask = LVIF_TEXT;
|
|
||||||
lvi.iItem = nItem;
|
|
||||||
lvi.iSubItem = 0;
|
|
||||||
lvi.pszText = buffer;
|
|
||||||
lvi.cchTextMax = sizeof(buffer);
|
|
||||||
m_GlobalStatList.GetItem(&lvi);
|
|
||||||
source = buffer;
|
|
||||||
lvi.iSubItem = 1;
|
|
||||||
lvi.pszText = buffer2;
|
|
||||||
lvi.cchTextMax = sizeof(buffer2);
|
|
||||||
m_GlobalStatList.GetItem(&lvi);
|
|
||||||
name = buffer2;
|
|
||||||
|
|
||||||
if (source == "Global Stat") {
|
|
||||||
MessageBox("Sorry, but you can't delete this type of stat", NULL, MB_OK);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
RemoveFromAdditionalGlobalStats(source, name);
|
|
||||||
m_GlobalStatList.DeleteItem(nItem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case ID__MAKETHISSTATTHEWINDOWTITLE :
|
|
||||||
pos = m_GlobalStatList.GetFirstSelectedItemPosition();
|
|
||||||
if (pos != NULL) {
|
|
||||||
nItem = m_GlobalStatList.GetNextSelectedItem(pos);
|
|
||||||
LVITEM lvi;
|
|
||||||
|
|
||||||
lvi.mask = LVIF_TEXT;
|
|
||||||
lvi.iItem = nItem;
|
|
||||||
lvi.iSubItem = 0;
|
|
||||||
lvi.pszText = buffer;
|
|
||||||
lvi.cchTextMax = sizeof(buffer);
|
|
||||||
m_GlobalStatList.GetItem(&lvi);
|
|
||||||
source = buffer;
|
|
||||||
lvi.iSubItem = 1;
|
|
||||||
lvi.pszText = buffer2;
|
|
||||||
lvi.cchTextMax = sizeof(buffer2);
|
|
||||||
m_GlobalStatList.GetItem(&lvi);
|
|
||||||
name = buffer2;
|
|
||||||
|
|
||||||
AddToTitleAdditionalGlobalStats(source, name);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default :
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
*pResult = 0;
|
|
||||||
}
|
|
|
@ -1,59 +0,0 @@
|
||||||
#if !defined(AFX_STATUS_H__DE59E22B_FD4F_4131_B347_48BD9FAC9348__INCLUDED_)
|
|
||||||
#define AFX_STATUS_H__DE59E22B_FD4F_4131_B347_48BD9FAC9348__INCLUDED_
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
// Status.h : header file
|
|
||||||
//
|
|
||||||
#include "TabPageSSL.h"
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CStatus dialog
|
|
||||||
|
|
||||||
class CStatus : public CTabPageSSL
|
|
||||||
{
|
|
||||||
// Construction
|
|
||||||
public:
|
|
||||||
int m_colStats2Width;
|
|
||||||
int m_colStats1Width;
|
|
||||||
int m_colStats0Width;
|
|
||||||
CFont labelFont;
|
|
||||||
CStatus(CWnd* pParent = NULL); // standard constructor
|
|
||||||
|
|
||||||
// Dialog Data
|
|
||||||
CBitmap runningBitmap;
|
|
||||||
CBitmap stoppedBitmap;
|
|
||||||
|
|
||||||
//{{AFX_DATA(CStatus)
|
|
||||||
enum { IDD = IDD_SSTATUS };
|
|
||||||
CStatic m_GS;
|
|
||||||
CListCtrl m_GlobalStatList;
|
|
||||||
CString m_Clients;
|
|
||||||
CString m_Sources;
|
|
||||||
CString m_RunningFor;
|
|
||||||
//}}AFX_DATA
|
|
||||||
|
|
||||||
|
|
||||||
// Overrides
|
|
||||||
// ClassWizard generated virtual function overrides
|
|
||||||
//{{AFX_VIRTUAL(CStatus)
|
|
||||||
protected:
|
|
||||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
||||||
//}}AFX_VIRTUAL
|
|
||||||
|
|
||||||
// Implementation
|
|
||||||
protected:
|
|
||||||
|
|
||||||
// Generated message map functions
|
|
||||||
//{{AFX_MSG(CStatus)
|
|
||||||
virtual BOOL OnInitDialog();
|
|
||||||
afx_msg void OnRclickGlobalstatList(NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
//}}AFX_MSG
|
|
||||||
DECLARE_MESSAGE_MAP()
|
|
||||||
};
|
|
||||||
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
#endif // !defined(AFX_STATUS_H__DE59E22B_FD4F_4131_B347_48BD9FAC9348__INCLUDED_)
|
|
|
@ -1,8 +0,0 @@
|
||||||
// stdafx.cpp : source file that includes just the standard includes
|
|
||||||
// Icecast2win.pch will be the pre-compiled header
|
|
||||||
// stdafx.obj will contain the pre-compiled type information
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
// stdafx.h : include file for standard system include files,
|
|
||||||
// or project specific include files that are used frequently, but
|
|
||||||
// are changed infrequently
|
|
||||||
//
|
|
||||||
|
|
||||||
#if !defined(AFX_STDAFX_H__2C2EF8C3_43CD_47D2_A979_EC36873E602D__INCLUDED_)
|
|
||||||
#define AFX_STDAFX_H__2C2EF8C3_43CD_47D2_A979_EC36873E602D__INCLUDED_
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
|
|
||||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
|
||||||
|
|
||||||
#include <afxwin.h> // MFC core and standard components
|
|
||||||
#include <afxext.h> // MFC extensions
|
|
||||||
#include <afxdisp.h> // MFC Automation classes
|
|
||||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
|
||||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
|
||||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
|
||||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
|
||||||
|
|
||||||
#define WM_TRAY_NOTIFY WM_APP+1000
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
#endif // !defined(AFX_STDAFX_H__2C2EF8C3_43CD_47D2_A979_EC36873E602D__INCLUDED_)
|
|
|
@ -1,35 +0,0 @@
|
||||||
// CTrayNot window
|
|
||||||
#ifndef _CTRAYNOT
|
|
||||||
#define _CTRAYNOT
|
|
||||||
|
|
||||||
class CTrayNot : public CObject
|
|
||||||
{
|
|
||||||
// Construction
|
|
||||||
public:
|
|
||||||
CTrayNot ( CWnd* pWnd, UINT uCallbackMessage,
|
|
||||||
LPCTSTR szTip, HICON* pList ) ;
|
|
||||||
|
|
||||||
// Attributes
|
|
||||||
public:
|
|
||||||
BOOL m_bEnabled ;
|
|
||||||
NOTIFYICONDATA m_tnd ;
|
|
||||||
HICON* m_pIconList ;
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
|
||||||
void SetState ( int id = 0 ) ;
|
|
||||||
|
|
||||||
// Overrides
|
|
||||||
// ClassWizard generated virtual function overrides
|
|
||||||
//{{AFX_VIRTUAL(CTrayNot)
|
|
||||||
//}}AFX_VIRTUAL
|
|
||||||
|
|
||||||
// Implementation
|
|
||||||
public:
|
|
||||||
virtual ~CTrayNot();
|
|
||||||
void SetTIP(char *pTip);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#endif
|
|
|
@ -1,499 +0,0 @@
|
||||||
// TabCtrlSSL.cpp : implementation file
|
|
||||||
//
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "TabCtrlSSL.h"
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Construction
|
|
||||||
|
|
||||||
CTabCtrlSSL::CTabCtrlSSL () {
|
|
||||||
#ifndef _AFX_NO_OCC_SUPPORT
|
|
||||||
AfxEnableControlContainer ();
|
|
||||||
#endif // !_AFX_NO_OCC_SUPPORT
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Destruction
|
|
||||||
|
|
||||||
CTabCtrlSSL::~CTabCtrlSSL (void) {
|
|
||||||
}
|
|
||||||
|
|
||||||
BEGIN_MESSAGE_MAP(CTabCtrlSSL, CTabCtrl)
|
|
||||||
//{{AFX_MSG_MAP(CTabCtrlSSL)
|
|
||||||
ON_WM_DESTROY ()
|
|
||||||
ON_WM_SETFOCUS ()
|
|
||||||
ON_WM_KILLFOCUS ()
|
|
||||||
ON_NOTIFY_REFLECT (TCN_SELCHANGING, OnSelChanging)
|
|
||||||
ON_NOTIFY_REFLECT (TCN_SELCHANGE, OnSelChange)
|
|
||||||
//}}AFX_MSG_MAP
|
|
||||||
END_MESSAGE_MAP()
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Page Functions
|
|
||||||
|
|
||||||
int CTabCtrlSSL::AddSSLPage (LPCTSTR pszTitle, int nPageID, CTabPageSSL* pTabPage) {
|
|
||||||
// Add a page to the tab control.
|
|
||||||
TabDelete tabDelete;
|
|
||||||
tabDelete.pTabPage = pTabPage;
|
|
||||||
tabDelete.bDelete = FALSE;
|
|
||||||
|
|
||||||
return AddPage (pszTitle, nPageID, tabDelete);
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::AddSSLPage (LPCTSTR pszTitle, int nPageID, LPCTSTR pszTemplateName) {
|
|
||||||
// Verify that the dialog template is compatible with CTabCtrlSSL
|
|
||||||
// (debug builds only). If your app asserts here, make sure the dialog
|
|
||||||
// resource you're adding to the view is a borderless child window and
|
|
||||||
// is not marked visible.
|
|
||||||
#ifdef _DEBUG
|
|
||||||
if (pszTemplateName != NULL) {
|
|
||||||
BOOL bResult = CheckDialogTemplate (pszTemplateName);
|
|
||||||
ASSERT (bResult);
|
|
||||||
}
|
|
||||||
#endif // _DEBUG
|
|
||||||
|
|
||||||
// Add a page to the tab control.
|
|
||||||
// Create a modeless dialog box.
|
|
||||||
CTabPageSSL* pDialog = new CTabPageSSL;
|
|
||||||
|
|
||||||
if (pDialog == NULL) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pDialog->Create (pszTemplateName, this)) {
|
|
||||||
pDialog->DestroyWindow ();
|
|
||||||
delete pDialog;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
TabDelete tabDelete;
|
|
||||||
tabDelete.pTabPage = pDialog;
|
|
||||||
tabDelete.bDelete = TRUE;
|
|
||||||
|
|
||||||
return AddPage (pszTitle, nPageID, tabDelete);
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::AddSSLPage (LPCTSTR pszTitle, int nPageID, int nTemplateID) {
|
|
||||||
return AddSSLPage (pszTitle, nPageID, MAKEINTRESOURCE (nTemplateID));
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::RemoveSSLPage (int nIndex) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Notify derived classes that the page is being destroyed.
|
|
||||||
OnDestroyPage (nIndex, m_nPageIDs[nIndex]);
|
|
||||||
|
|
||||||
// Switch pages if the page being deleted is the current page and it's
|
|
||||||
// not the only remaining page.
|
|
||||||
int nCount = GetItemCount ();
|
|
||||||
if (nCount > 1 && nIndex == GetCurSel ()) {
|
|
||||||
int nPage = nIndex + 1;
|
|
||||||
if (nPage >= nCount)
|
|
||||||
nPage = nCount - 2;
|
|
||||||
ActivateSSLPage (nPage);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Remove the page from the tab control.
|
|
||||||
DeleteItem (nIndex);
|
|
||||||
|
|
||||||
// Destroy the dialog (if any) that represents the page.
|
|
||||||
TabDelete tabDelete = m_tabs[nIndex];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
pDialog->DestroyWindow ();
|
|
||||||
delete pDialog;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clean up, repaint, and return.
|
|
||||||
m_tabs.RemoveAt (nIndex);
|
|
||||||
m_hFocusWnd.RemoveAt (nIndex);
|
|
||||||
m_nPageIDs.RemoveAt (nIndex);
|
|
||||||
Invalidate ();
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::GetSSLPageCount (void) {
|
|
||||||
return GetItemCount ();
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::GetSSLPageTitle (int nIndex, CString &strTitle) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
TCHAR szTitle[1024];
|
|
||||||
|
|
||||||
TC_ITEM item;
|
|
||||||
item.mask = TCIF_TEXT;
|
|
||||||
item.pszText = szTitle;
|
|
||||||
item.cchTextMax = sizeof szTitle / sizeof (TCHAR);
|
|
||||||
|
|
||||||
if (!GetItem (nIndex, &item))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
strTitle = item.pszText;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::SetSSLPageTitle (int nIndex, LPCTSTR pszTitle) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
TC_ITEM item;
|
|
||||||
item.mask = TCIF_TEXT;
|
|
||||||
item.pszText = (LPTSTR) pszTitle;
|
|
||||||
|
|
||||||
BOOL bResult = SetItem (nIndex, &item);
|
|
||||||
if (bResult)
|
|
||||||
Invalidate ();
|
|
||||||
return bResult;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::GetSSLPageID (int nIndex) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
return m_nPageIDs[nIndex];
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::SetSSLPageID (int nIndex, int nPageID) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
int nOldPageID = m_nPageIDs[nIndex];
|
|
||||||
m_nPageIDs[nIndex] = nPageID;
|
|
||||||
return nOldPageID;
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::ActivateSSLPage (int nIndex) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
// Do nothing if the specified page is already active.
|
|
||||||
if (nIndex == GetCurSel ())
|
|
||||||
return TRUE;
|
|
||||||
|
|
||||||
// Deactivate the current page.
|
|
||||||
int nOldIndex = GetCurSel ();
|
|
||||||
|
|
||||||
if (nIndex != -1) {
|
|
||||||
TabDelete tabDelete = m_tabs[nOldIndex];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
m_hFocusWnd[nOldIndex] = ::GetFocus ();
|
|
||||||
pDialog->ShowWindow (SW_HIDE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Activate the new one.
|
|
||||||
SetCurSel (nIndex);
|
|
||||||
TabDelete tabDelete = m_tabs[nIndex];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
::SetFocus (m_hFocusWnd[nIndex]);
|
|
||||||
CRect rect;
|
|
||||||
GetClientRect (&rect);
|
|
||||||
ResizeDialog (nIndex, rect.Width (), rect.Height ());
|
|
||||||
pDialog->ShowWindow (SW_SHOW);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::GetSSLActivePage (void) {
|
|
||||||
return GetCurSel ();
|
|
||||||
}
|
|
||||||
|
|
||||||
CWnd* CTabCtrlSSL::GetSSLPage (int nIndex) {
|
|
||||||
if (nIndex >= GetItemCount ())
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
TabDelete tabDelete = m_tabs[nIndex];
|
|
||||||
return (CWnd*) tabDelete.pTabPage;
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::GetSSLPageIndex (int nPageID) {
|
|
||||||
int nCount = GetItemCount ();
|
|
||||||
if (nCount == 0)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
for (int i=0; i<nCount; i++) {
|
|
||||||
if (m_nPageIDs[i] == nPageID)
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Private helper functions
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
BOOL CTabCtrlSSL::CheckDialogTemplate (LPCTSTR pszTemplateName) {
|
|
||||||
// Verify that the dialog resource exists.
|
|
||||||
ASSERT (pszTemplateName != NULL);
|
|
||||||
HINSTANCE hInstance = AfxFindResourceHandle (pszTemplateName, RT_DIALOG);
|
|
||||||
HRSRC hResource = ::FindResource (hInstance, pszTemplateName, RT_DIALOG);
|
|
||||||
|
|
||||||
if (hResource == NULL)
|
|
||||||
return FALSE; // Resource doesn't exist
|
|
||||||
|
|
||||||
HGLOBAL hTemplate = LoadResource (hInstance, hResource);
|
|
||||||
ASSERT (hTemplate != NULL);
|
|
||||||
|
|
||||||
// Get the dialog's style bits.
|
|
||||||
DLGTEMPLATEEX* pTemplate = (DLGTEMPLATEEX*) LockResource (hTemplate);
|
|
||||||
|
|
||||||
DWORD dwStyle;
|
|
||||||
if (pTemplate->signature == 0xFFFF)
|
|
||||||
dwStyle = pTemplate->style;
|
|
||||||
else
|
|
||||||
dwStyle = ((DLGTEMPLATE*) pTemplate)->style;
|
|
||||||
|
|
||||||
UnlockResource (hTemplate);
|
|
||||||
FreeResource (hTemplate);
|
|
||||||
|
|
||||||
// Verify that the dialog is an invisible child window.
|
|
||||||
if (dwStyle & WS_VISIBLE)
|
|
||||||
return FALSE; // WS_VISIBLE flag is set
|
|
||||||
|
|
||||||
if (!(dwStyle & WS_CHILD))
|
|
||||||
return FALSE; // WS_CHILD flag isn't set
|
|
||||||
|
|
||||||
// Verify that the dialog has no border and no title bar.
|
|
||||||
if (dwStyle & (WS_BORDER | WS_THICKFRAME | DS_MODALFRAME))
|
|
||||||
return FALSE; // One or more border flags are set
|
|
||||||
|
|
||||||
if (dwStyle & WS_CAPTION)
|
|
||||||
return FALSE; // WS_CAPTION flag is set
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
#endif // _DEBUG
|
|
||||||
|
|
||||||
void CTabCtrlSSL::ResizeDialog (int nIndex, int cx, int cy) {
|
|
||||||
if (nIndex != -1) {
|
|
||||||
TabDelete tabDelete = m_tabs[nIndex];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
CRect rect;
|
|
||||||
GetItemRect (nIndex, &rect);
|
|
||||||
|
|
||||||
int x, y, nWidth, nHeight;
|
|
||||||
DWORD dwStyle = GetStyle ();
|
|
||||||
|
|
||||||
if (dwStyle & TCS_VERTICAL) { // Vertical tabs
|
|
||||||
int nTabWidth =
|
|
||||||
rect.Width () * GetRowCount ();
|
|
||||||
x = (dwStyle & TCS_RIGHT) ? 4 : nTabWidth + 4;
|
|
||||||
y = 4;
|
|
||||||
nWidth = cx - nTabWidth - 8;
|
|
||||||
nHeight = cy - 8;
|
|
||||||
}
|
|
||||||
else { // Horizontal tabs
|
|
||||||
int nTabHeight =
|
|
||||||
rect.Height () * GetRowCount ();
|
|
||||||
x = 4;
|
|
||||||
y = (dwStyle & TCS_BOTTOM) ? 4 : nTabHeight + 4;
|
|
||||||
nWidth = cx - 8;
|
|
||||||
nHeight = cy - nTabHeight - 8;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
pDialog->SetWindowPos (NULL, x, y, nWidth, nHeight, SWP_NOZORDER);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Overridables
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::OnInitPage (int nIndex, int nPageID) {
|
|
||||||
// TODO: Override in derived class to initialise pages.
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnActivatePage (int nIndex, int nPageID) {
|
|
||||||
// TODO: Override in derived class to respond to page activations.
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnDeactivatePage (int nIndex, int nPageID) {
|
|
||||||
// TODO: Override in derived class to respond to page deactivations.
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnDestroyPage (int nIndex, int nPageID) {
|
|
||||||
// TODO: Override in derived class to free resources.
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Message handlers
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnSelChanging (NMHDR* pNMHDR, LRESULT* pResult) {
|
|
||||||
// Notify derived classes that the selection is changing.
|
|
||||||
int nIndex = GetCurSel ();
|
|
||||||
if (nIndex == -1)
|
|
||||||
return;
|
|
||||||
|
|
||||||
OnDeactivatePage (nIndex, m_nPageIDs[nIndex]);
|
|
||||||
|
|
||||||
// Save the input focus and hide the old page.
|
|
||||||
TabDelete tabDelete = m_tabs[nIndex];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
m_hFocusWnd[nIndex] = ::GetFocus ();
|
|
||||||
pDialog->ShowWindow (SW_HIDE);
|
|
||||||
}
|
|
||||||
*pResult = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnSelChange (NMHDR* pNMHDR, LRESULT* pResult) {
|
|
||||||
int nIndex = GetCurSel ();
|
|
||||||
if (nIndex == -1)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// Show the new page.
|
|
||||||
TabDelete tabDelete = m_tabs[nIndex];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
::SetFocus (m_hFocusWnd[nIndex]);
|
|
||||||
CRect rect;
|
|
||||||
GetClientRect (&rect);
|
|
||||||
ResizeDialog (nIndex, rect.Width (), rect.Height ());
|
|
||||||
pDialog->ShowWindow (SW_SHOW);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Notify derived classes that the selection has changed.
|
|
||||||
OnActivatePage (nIndex, m_nPageIDs[nIndex]);
|
|
||||||
*pResult = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnSetFocus (CWnd* pOldWnd) {
|
|
||||||
CTabCtrl::OnSetFocus (pOldWnd);
|
|
||||||
|
|
||||||
// Set the focus to a control on the current page.
|
|
||||||
int nIndex = GetCurSel ();
|
|
||||||
if (nIndex != -1)
|
|
||||||
::SetFocus (m_hFocusWnd[nIndex]);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabCtrlSSL::OnKillFocus (CWnd* pNewWnd) {
|
|
||||||
CTabCtrl::OnKillFocus (pNewWnd);
|
|
||||||
|
|
||||||
// Save the HWND of the control that holds the input focus.
|
|
||||||
int nIndex = GetCurSel ();
|
|
||||||
if (nIndex != -1)
|
|
||||||
m_hFocusWnd[nIndex] = ::GetFocus ();
|
|
||||||
}
|
|
||||||
|
|
||||||
// My thanks to Tomasz Sowinski for all his help coming up with a workable
|
|
||||||
// solution to the stack versus heap object destruction
|
|
||||||
void CTabCtrlSSL::OnDestroy (void) {
|
|
||||||
int nCount = m_tabs.GetSize ();
|
|
||||||
|
|
||||||
// Destroy dialogs and delete CTabCtrlSSL objects.
|
|
||||||
if (nCount > 0) {
|
|
||||||
for (int i=nCount - 1; i>=0; i--) {
|
|
||||||
OnDestroyPage (i, m_nPageIDs[i]);
|
|
||||||
TabDelete tabDelete = m_tabs[i];
|
|
||||||
CTabPageSSL* pDialog = tabDelete.pTabPage;
|
|
||||||
if (pDialog != NULL) {
|
|
||||||
pDialog->DestroyWindow ();
|
|
||||||
if (TRUE == tabDelete.bDelete) {
|
|
||||||
delete pDialog;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Clean up the internal arrays.
|
|
||||||
m_tabs.RemoveAll ();
|
|
||||||
m_hFocusWnd.RemoveAll ();
|
|
||||||
m_nPageIDs.RemoveAll ();
|
|
||||||
|
|
||||||
CTabCtrl::OnDestroy ();
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::OnCommand (WPARAM wParam, LPARAM lParam) {
|
|
||||||
// Forward WM_COMMAND messages to the dialog's parent.
|
|
||||||
return GetParent ()->SendMessage (WM_COMMAND, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult) {
|
|
||||||
// Forward WM_NOTIFY messages to the dialog's parent.
|
|
||||||
return GetParent ()->SendMessage (WM_NOTIFY, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabCtrlSSL::OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
|
||||||
AFX_CMDHANDLERINFO* pHandlerInfo) {
|
|
||||||
// Forward ActiveX control events to the dialog's parent.
|
|
||||||
#ifndef _AFX_NO_OCC_SUPPORT
|
|
||||||
if (nCode == CN_EVENT)
|
|
||||||
return GetParent ()->OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
|
||||||
#endif // !_AFX_NO_OCC_SUPPORT
|
|
||||||
|
|
||||||
return CTabCtrl::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
int CTabCtrlSSL::AddPage (LPCTSTR pszTitle, int nPageID, TabDelete tabDelete) {
|
|
||||||
// Add a page to the tab control.
|
|
||||||
TC_ITEM item;
|
|
||||||
item.mask = TCIF_TEXT;
|
|
||||||
item.pszText = (LPTSTR) pszTitle;
|
|
||||||
int nIndex = GetItemCount ();
|
|
||||||
|
|
||||||
if (InsertItem (nIndex, &item) == -1)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (NULL == tabDelete.pTabPage) {
|
|
||||||
// Fail - no point calling the function with a NULL pointer!
|
|
||||||
DeleteItem (nIndex);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Record the address of the dialog object and the page ID.
|
|
||||||
int nArrayIndex = m_tabs.Add (tabDelete);
|
|
||||||
ASSERT (nIndex == nArrayIndex);
|
|
||||||
|
|
||||||
nArrayIndex = m_nPageIDs.Add (nPageID);
|
|
||||||
ASSERT (nIndex == nArrayIndex);
|
|
||||||
|
|
||||||
// Size and position the dialog box within the view.
|
|
||||||
tabDelete.pTabPage->SetParent (this); // Just to be sure
|
|
||||||
|
|
||||||
CRect rect;
|
|
||||||
GetClientRect (&rect);
|
|
||||||
|
|
||||||
if (rect.Width () > 0 && rect.Height () > 0)
|
|
||||||
ResizeDialog (nIndex, rect.Width (), rect.Height ());
|
|
||||||
|
|
||||||
// Initialize the page.
|
|
||||||
if (OnInitPage (nIndex, nPageID)) {
|
|
||||||
// Make sure the first control in the dialog is the one that
|
|
||||||
// receives the input focus when the page is displayed.
|
|
||||||
HWND hwndFocus = tabDelete.pTabPage->GetTopWindow ()->m_hWnd;
|
|
||||||
nArrayIndex = m_hFocusWnd.Add (hwndFocus);
|
|
||||||
ASSERT (nIndex == nArrayIndex);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// Make the control that currently has the input focus is the one
|
|
||||||
// that receives the input focus when the page is displayed.
|
|
||||||
m_hFocusWnd.Add (::GetFocus ());
|
|
||||||
}
|
|
||||||
|
|
||||||
// If this is the first page added to the view, make it visible.
|
|
||||||
if (nIndex == 0)
|
|
||||||
tabDelete.pTabPage->ShowWindow (SW_SHOW);
|
|
||||||
}
|
|
||||||
return nIndex;
|
|
||||||
}
|
|
|
@ -1,98 +0,0 @@
|
||||||
#if !defined(AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_)
|
|
||||||
#define AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_
|
|
||||||
|
|
||||||
#if _MSC_VER > 1000
|
|
||||||
#pragma once
|
|
||||||
#endif // _MSC_VER > 1000
|
|
||||||
// TabCtrlEx.h : header file
|
|
||||||
//
|
|
||||||
|
|
||||||
#include <afxtempl.h>
|
|
||||||
#include "TabPageSSL.h"
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#pragma pack (push, 1)
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
WORD dlgVer;
|
|
||||||
WORD signature;
|
|
||||||
DWORD helpID;
|
|
||||||
DWORD exStyle;
|
|
||||||
DWORD style;
|
|
||||||
WORD cDlgItems;
|
|
||||||
short x;
|
|
||||||
short y;
|
|
||||||
short cx;
|
|
||||||
short cy;
|
|
||||||
} DLGTEMPLATEEX;
|
|
||||||
|
|
||||||
#pragma pack (pop)
|
|
||||||
#endif // _DEBUG
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CTabCtrlSSL window
|
|
||||||
|
|
||||||
class CTabCtrlSSL : public CTabCtrl {
|
|
||||||
public:
|
|
||||||
// Construction
|
|
||||||
CTabCtrlSSL ();
|
|
||||||
// Destruction
|
|
||||||
virtual ~CTabCtrlSSL (void);
|
|
||||||
// Page Functions
|
|
||||||
int AddSSLPage (LPCTSTR pszTitle, int nPageID, CTabPageSSL* pTabPage);
|
|
||||||
int AddSSLPage (LPCTSTR pszTitle, int nPageID, LPCTSTR pszTemplateName);
|
|
||||||
int AddSSLPage (LPCTSTR pszTitle, int nPageID, int nTemplateID);
|
|
||||||
BOOL RemoveSSLPage (int nIndex);
|
|
||||||
int GetSSLPageCount (void);
|
|
||||||
BOOL GetSSLPageTitle (int nIndex, CString& strTitle);
|
|
||||||
BOOL SetSSLPageTitle (int nIndex, LPCTSTR pszTitle);
|
|
||||||
int GetSSLPageID (int nIndex);
|
|
||||||
int SetSSLPageID (int nIndex, int nPageID);
|
|
||||||
BOOL ActivateSSLPage (int nIndex);
|
|
||||||
int GetSSLActivePage (void);
|
|
||||||
CWnd* GetSSLPage (int nIndex);
|
|
||||||
int GetSSLPageIndex (int nPageID);
|
|
||||||
void ResizeDialog (int nIndex, int cx, int cy);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
struct TabDelete {
|
|
||||||
CTabPageSSL* pTabPage;
|
|
||||||
BOOL bDelete;
|
|
||||||
};
|
|
||||||
CArray<TabDelete, TabDelete> m_tabs;
|
|
||||||
CArray<HWND, HWND> m_hFocusWnd;
|
|
||||||
CArray<int, int> m_nPageIDs;
|
|
||||||
|
|
||||||
int AddPage (LPCTSTR pszTitle, int nPageID, TabDelete tabDelete);
|
|
||||||
|
|
||||||
virtual BOOL OnInitPage (int nIndex, int nPageID);
|
|
||||||
virtual void OnActivatePage (int nIndex, int nPageID);
|
|
||||||
virtual void OnDeactivatePage (int nIndex, int nPageID);
|
|
||||||
virtual void OnDestroyPage (int nIndex, int nPageID);
|
|
||||||
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
|
|
||||||
virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
|
||||||
virtual BOOL OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
|
||||||
AFX_CMDHANDLERINFO* pHandlerInfo);
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
BOOL CheckDialogTemplate (LPCTSTR pszTemplateName);
|
|
||||||
#endif // _DEBUG
|
|
||||||
// Generated message map functions
|
|
||||||
protected:
|
|
||||||
//{{AFX_MSG(CTabCtrlSSL)
|
|
||||||
afx_msg void OnDestroy (void);
|
|
||||||
afx_msg void OnSetFocus (CWnd* pOldWnd);
|
|
||||||
afx_msg void OnKillFocus (CWnd* pNewWnd);
|
|
||||||
afx_msg void OnSelChanging (NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
afx_msg void OnSelChange (NMHDR* pNMHDR, LRESULT* pResult);
|
|
||||||
//}}AFX_MSG
|
|
||||||
|
|
||||||
DECLARE_MESSAGE_MAP()
|
|
||||||
};
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
//{{AFX_INSERT_LOCATION}}
|
|
||||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
||||||
|
|
||||||
#endif // !defined(AFX_TABCTRLSSL_H__75BE48A7_864C_11D5_9F04_000102FB9990__INCLUDED_)
|
|
|
@ -1,75 +0,0 @@
|
||||||
#include "stdafx.h"
|
|
||||||
#include "TabPageSSL.h"
|
|
||||||
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Construction
|
|
||||||
|
|
||||||
CTabPageSSL::CTabPageSSL () {
|
|
||||||
#ifndef _AFX_NO_OCC_SUPPORT
|
|
||||||
AfxEnableControlContainer ();
|
|
||||||
#endif // !_AFX_NO_OCC_SUPPORT
|
|
||||||
}
|
|
||||||
|
|
||||||
CTabPageSSL::CTabPageSSL (UINT nIDTemplate, CWnd* pParent /*=NULL*/)
|
|
||||||
: CDialog(nIDTemplate, pParent) {
|
|
||||||
#ifndef _AFX_NO_OCC_SUPPORT
|
|
||||||
AfxEnableControlContainer ();
|
|
||||||
#endif // !_AFX_NO_OCC_SUPPORT
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Destruction
|
|
||||||
|
|
||||||
CTabPageSSL::~CTabPageSSL () {
|
|
||||||
}
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Message Handlers
|
|
||||||
|
|
||||||
void CTabPageSSL::OnOK (void) {
|
|
||||||
//
|
|
||||||
// Prevent CDialog::OnOK from calling EndDialog.
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTabPageSSL::OnCancel (void) {
|
|
||||||
//
|
|
||||||
// Prevent CDialog::OnCancel from calling EndDialog.
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabPageSSL::OnCommand (WPARAM wParam, LPARAM lParam) {
|
|
||||||
// Call base class OnCommand to allow message map processing
|
|
||||||
CDialog::OnCommand (wParam, lParam);
|
|
||||||
//
|
|
||||||
// Forward WM_COMMAND messages to the dialog's parent.
|
|
||||||
//
|
|
||||||
return GetParent ()->SendMessage (WM_COMMAND, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabPageSSL::OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult) {
|
|
||||||
//
|
|
||||||
// Forward WM_NOTIFY messages to the dialog's parent.
|
|
||||||
//
|
|
||||||
CDialog::OnNotify (wParam, lParam, pResult);
|
|
||||||
return GetParent ()->SendMessage (WM_NOTIFY, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
BOOL CTabPageSSL::OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
|
||||||
AFX_CMDHANDLERINFO* pHandlerInfo) {
|
|
||||||
//
|
|
||||||
// Forward ActiveX control events to the dialog's parent.
|
|
||||||
//
|
|
||||||
#ifndef _AFX_NO_OCC_SUPPORT
|
|
||||||
if (nCode == CN_EVENT)
|
|
||||||
return GetParent ()->OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
|
||||||
#endif // !_AFX_NO_OCC_SUPPORT
|
|
||||||
|
|
||||||
return CDialog::OnCmdMsg (nID, nCode, pExtra, pHandlerInfo);
|
|
||||||
}
|
|
|
@ -1,26 +0,0 @@
|
||||||
#if !defined(AFX_TABPAGESSL_H__619331B3_7DE7_4DB1_A039_2103E87E8E71__INCLUDED_)
|
|
||||||
#define AFX_TABPAGESSL_H__619331B3_7DE7_4DB1_A039_2103E87E8E71__INCLUDED_
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CTabPageSSL declaration
|
|
||||||
|
|
||||||
class CTabPageSSL : public CDialog
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// Construction
|
|
||||||
CTabPageSSL (); // Default Constructor
|
|
||||||
CTabPageSSL (UINT nIDTemplate, CWnd* pParent = NULL); // Standard Constructor
|
|
||||||
// Destruction
|
|
||||||
~CTabPageSSL ();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
// Message Handlers
|
|
||||||
virtual BOOL OnCommand (WPARAM wParam, LPARAM lParam);
|
|
||||||
virtual BOOL OnNotify (WPARAM wParam, LPARAM lParam, LRESULT* pResult);
|
|
||||||
virtual void OnOK (void);
|
|
||||||
virtual void OnCancel (void);
|
|
||||||
virtual BOOL OnCmdMsg (UINT nID, int nCode, void* pExtra,
|
|
||||||
AFX_CMDHANDLERINFO* pHandlerInfo);
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // !defined(AFX_TABPAGE_H__619331B3_7DE7_4DB1_A039_2103E87E8E71__INCLUDED_)
|
|
|
@ -1,65 +0,0 @@
|
||||||
#include "stdafx.h"
|
|
||||||
#include "TrayNot.h"
|
|
||||||
#ifdef _DEBUG
|
|
||||||
#define new DEBUG_NEW
|
|
||||||
#undef THIS_FILE
|
|
||||||
static char THIS_FILE[] = __FILE__;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// CTrayNot
|
|
||||||
|
|
||||||
CTrayNot::CTrayNot ( CWnd* pWnd, UINT uCallbackMessage,
|
|
||||||
LPCTSTR szTip, HICON* pList )
|
|
||||||
{
|
|
||||||
// this is only for Windows 95 (or higher)
|
|
||||||
m_bEnabled = ( GetVersion() & 0xff ) >= 4 ;
|
|
||||||
if (!m_bEnabled)
|
|
||||||
return ;
|
|
||||||
|
|
||||||
// load up the NOTIFYICONDATA structure
|
|
||||||
m_tnd.cbSize = sizeof(NOTIFYICONDATA) ;
|
|
||||||
m_tnd.hWnd = pWnd->GetSafeHwnd() ;
|
|
||||||
m_tnd.uID = 0 ;
|
|
||||||
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;
|
|
||||||
m_tnd.uCallbackMessage = uCallbackMessage;
|
|
||||||
strcpy ( m_tnd.szTip, "Icecast2");
|
|
||||||
//or you could use:
|
|
||||||
//strcpy ( m_tnd.szTip, AfxGetApp()->m_pszAppName);
|
|
||||||
//this will display the app name instead of the string you specify
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// save the pointer to the icon list and set the initial
|
|
||||||
// default icon.
|
|
||||||
m_pIconList = pList ;
|
|
||||||
m_tnd.hIcon = m_pIconList[0] ;
|
|
||||||
Shell_NotifyIcon (NIM_ADD,&m_tnd);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
CTrayNot::~CTrayNot()
|
|
||||||
{
|
|
||||||
if (m_bEnabled)
|
|
||||||
Shell_NotifyIcon (NIM_DELETE, &m_tnd);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CTrayNot::SetState(int id)
|
|
||||||
{
|
|
||||||
if (!m_bEnabled)
|
|
||||||
return;
|
|
||||||
m_tnd.hIcon = m_pIconList[id];
|
|
||||||
m_tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP ;
|
|
||||||
|
|
||||||
//Ive found in windows XP that this command makes the icon not visable in the system tray....we dont want that now
|
|
||||||
//do we?
|
|
||||||
Shell_NotifyIcon(NIM_MODIFY, &m_tnd);
|
|
||||||
}
|
|
||||||
void CTrayNot::SetTIP(char *pTip) {
|
|
||||||
memset(m_tnd.szTip, '\000', sizeof(m_tnd.szTip));
|
|
||||||
strncpy(m_tnd.szTip, pTip, sizeof(m_tnd.szTip)-1);
|
|
||||||
|
|
||||||
Shell_NotifyIcon(NIM_MODIFY, &m_tnd);
|
|
||||||
}
|
|
BIN
win32/black.bmp
BIN
win32/black.bmp
Binary file not shown.
Before Width: | Height: | Size: 151 KiB |
|
@ -1,5 +0,0 @@
|
||||||
#define BGCOLOR RGB(0,0,0)
|
|
||||||
#define TEXTCOLOR RGB(175,175,175)
|
|
||||||
#define TEXTBGCOLOR RGB(0,0,0)
|
|
||||||
#define LOGOCOLOR RGB(175,175,175)
|
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 312 KiB |
|
@ -1,392 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="icecast" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
|
||||||
|
|
||||||
CFG=icecast - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "icecast.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!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 "icecast.mak" CFG="icecast - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "icecast - Win32 Release" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "icecast - Win32 Debug" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "icecast - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "releaselib_tmp"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../curl/include" /I "..\src" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /I "../../speex/include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_LOCALTIME_R" /D "HAVE_OLD_VSNPRINTF" /D "HAVE_THEORA" /D "HAVE_SPEEX" /D "HAVE_AUTH_URL" /D sock_t=SOCKET /D "HAVE_WINSOCK2_H" /YX /FD /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "icecast - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "debuglib_tmp"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../curl/include" /I "..\src" /I "../" /I "../../libxslt/include" /I "../../iconv/include" /I "../../libxml2/include" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /I "../../speex/include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "_WIN32" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_LOCALTIME_R" /D "HAVE_OLD_VSNPRINTF" /D "HAVE_THEORA" /D "HAVE_SPEEX" /D "HAVE_AUTH_URL" /FD /D /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "icecast - Win32 Release"
|
|
||||||
# Name "icecast - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\admin.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\auth.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\auth_htpasswd.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\auth_url.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\avl\avl.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\cfgfile.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\client.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\connection.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\event.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_flac.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_kate.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_midi.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_mp3.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_ogg.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_skeleton.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_speex.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_theora.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_vorbis.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\fserve.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\global.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\httpp\httpp.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\log\log.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\logging.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\md5.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\os.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\refbuf.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\net\resolver.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\sighandler.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\slave.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\net\sock.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\source.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\stats.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\thread\thread.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\timing\timing.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\util.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\xslt.c
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\yp.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\admin.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\auth.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\auth_htpasswd.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\auth_url.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\avl\avl.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\cfgfile.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\client.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\compat.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\connection.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\event.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_flac.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_kate.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_midi.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_mp3.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_ogg.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_skeleton.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_speex.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_theora.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\format_vorbis.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\fserve.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\global.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\httpp\httpp.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\log\log.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\logging.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\md5.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\refbuf.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\net\resolver.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\sighandler.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\net\sock.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\source.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\stats.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\thread\thread.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\timing\timing.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\util.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\xslt.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\yp.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,64 +0,0 @@
|
||||||
; Script generated by the Inno Setup Script Wizard.
|
|
||||||
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
|
||||||
|
|
||||||
[Setup]
|
|
||||||
AppName=Icecast2 Win32
|
|
||||||
AppVerName=Icecast 2.3.2
|
|
||||||
AppPublisherURL=http://www.icecast.org
|
|
||||||
AppSupportURL=http://www.icecast.org
|
|
||||||
AppUpdatesURL=http://www.icecast.org
|
|
||||||
DefaultDirName={pf}\Icecast2 Win32
|
|
||||||
DefaultGroupName=Icecast2 Win32
|
|
||||||
AllowNoIcons=yes
|
|
||||||
LicenseFile=..\COPYING
|
|
||||||
InfoAfterFile=..\README
|
|
||||||
OutputDir=.
|
|
||||||
OutputBaseFilename=icecast2_win32_2.3.2_setup
|
|
||||||
WizardImageFile=icecast2logo2.bmp
|
|
||||||
WizardImageStretch=no
|
|
||||||
; uncomment the following line if you want your installation to run on NT 3.51 too.
|
|
||||||
; MinVersion=4,3.51
|
|
||||||
|
|
||||||
[Tasks]
|
|
||||||
Name: "desktopicon"; Description: "Create a &desktop icon"; GroupDescription: "Additional icons:"; MinVersion: 4,4
|
|
||||||
|
|
||||||
[Dirs]
|
|
||||||
Name: "{app}\web"
|
|
||||||
Name: "{app}\admin"
|
|
||||||
Name: "{app}\doc"
|
|
||||||
Name: "{app}\logs"
|
|
||||||
Name: "{app}\examples"
|
|
||||||
|
|
||||||
|
|
||||||
[Files]
|
|
||||||
Source: "Release\Icecast2win.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "Release\icecast2console.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "Release\icecastService.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "..\examples\*"; DestDir: "{app}\examples"; Flags: ignoreversion
|
|
||||||
; Source: "..\doc\icecast2.chm"; DestDir: "{app}\doc"; Flags: ignoreversion
|
|
||||||
Source: "..\web\*.xsl"; DestDir: "{app}\web"; Flags: ignoreversion
|
|
||||||
Source: "..\web\*.png"; DestDir: "{app}\web"; Flags: ignoreversion
|
|
||||||
Source: "..\web\*.jpg"; DestDir: "{app}\web"; Flags: ignoreversion
|
|
||||||
Source: "..\web\*.css"; DestDir: "{app}\web"; Flags: ignoreversion
|
|
||||||
Source: "..\admin\*.xsl"; DestDir: "{app}\admin"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\pthreadVSE.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "icecast.xml"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\iconv.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\libxslt.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\libcurl.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
Source: "c:\xiph\lib\zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion
|
|
||||||
|
|
||||||
[Icons]
|
|
||||||
|
|
||||||
Name: "{group}\Icecast2 Win32"; Filename: "{app}\Icecast2win.exe";WorkingDir: "{app}";
|
|
||||||
Name: "{userdesktop}\Icecast2 Win32"; Filename: "{app}\Icecast2win.exe"; MinVersion: 4,4; Tasks: desktopicon;WorkingDir: "{app}";
|
|
||||||
|
|
||||||
[Run]
|
|
||||||
Filename: "{app}\icecastService.exe"; Parameters: "install ""{app}""";Description: "Install Icecast as a windows service.";Flags: postinstall
|
|
||||||
|
|
||||||
[UninstallRun]
|
|
||||||
Filename: "{app}\icecastService.exe"; Parameters: "remove"
|
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="icecast2 console" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=icecast2 console - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "icecast2_console.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!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 "icecast2_console.mak" CFG="icecast2 console - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "icecast2 console - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "icecast2 console - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "icecast2 console - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "icecast2_console___Win32_Release"
|
|
||||||
# PROP BASE Intermediate_Dir "icecast2_console___Win32_Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "releaseconsole_tmp"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib theora_static_d.lib libspeex.lib /nologo /version:2.3 /subsystem:console /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmtd.lib" /out:"Release/icecast2console.exe"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "icecast2 console - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "icecast2_console___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "icecast2_console___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "debugconsole_tmp"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVC.lib ws2_32.lib theora_static_d.lib libspeex.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmt.lib" /out:"Debug/icecast2console.exe" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "icecast2 console - Win32 Release"
|
|
||||||
# Name "icecast2 console - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\main.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,44 +0,0 @@
|
||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "icecast"=.\icecast.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "icecast2 console"=.\icecast2_console.dsp - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name icecast
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
|
@ -1,193 +0,0 @@
|
||||||
#define _WIN32_WINNT 0x0400
|
|
||||||
#include <windows.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <direct.h>
|
|
||||||
extern "C" {
|
|
||||||
#include "thread/thread.h"
|
|
||||||
#include "avl/avl.h"
|
|
||||||
#include "log/log.h"
|
|
||||||
#include "global.h"
|
|
||||||
#include "httpp/httpp.h"
|
|
||||||
#include "net/sock.h"
|
|
||||||
#include "connection.h"
|
|
||||||
#include "refbuf.h"
|
|
||||||
#include "client.h"
|
|
||||||
#include "stats.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
// Issues to be wary of. Careful of the runtime you use, I've had printf and similar routines
|
|
||||||
// crash because of this on apparently valid strings. some weird thing related to checking for
|
|
||||||
// multiple byte characters. DeleteService only marks a service for deletion, and the docs
|
|
||||||
// are unclear on the cases that lead to purging however a reboot should do it.
|
|
||||||
|
|
||||||
SERVICE_STATUS ServiceStatus;
|
|
||||||
SERVICE_STATUS_HANDLE hStatus;
|
|
||||||
|
|
||||||
void ServiceMain(int argc, char** argv);
|
|
||||||
void ControlHandler(DWORD request);
|
|
||||||
extern "C" int mainService(int argc, char **argv);
|
|
||||||
|
|
||||||
|
|
||||||
void installService (const char *path)
|
|
||||||
{
|
|
||||||
if (path) {
|
|
||||||
char fullPath[8096*2] = "\"";
|
|
||||||
int len = GetModuleFileName (NULL, fullPath+1, sizeof (fullPath)-1);
|
|
||||||
|
|
||||||
_snprintf(fullPath+len+1, sizeof (fullPath)-len, "\" \"%s\"", path);
|
|
||||||
|
|
||||||
SC_HANDLE manager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );
|
|
||||||
if (manager == NULL)
|
|
||||||
{
|
|
||||||
MessageBox (NULL, "OpenSCManager failed", NULL, MB_SERVICE_NOTIFICATION);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
SC_HANDLE service = CreateService(
|
|
||||||
manager,
|
|
||||||
PACKAGE_STRING,
|
|
||||||
PACKAGE_STRING " Streaming Media Server",
|
|
||||||
GENERIC_READ | GENERIC_EXECUTE,
|
|
||||||
SERVICE_WIN32_OWN_PROCESS,
|
|
||||||
SERVICE_AUTO_START,
|
|
||||||
SERVICE_ERROR_IGNORE,
|
|
||||||
fullPath,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
if (service == NULL)
|
|
||||||
{
|
|
||||||
MessageBox (NULL, "CreateService failed", NULL, MB_SERVICE_NOTIFICATION);
|
|
||||||
CloseServiceHandle (manager);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
printf("Service Installed\n");
|
|
||||||
CloseServiceHandle (service);
|
|
||||||
CloseServiceHandle (manager);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
void removeService()
|
|
||||||
{
|
|
||||||
SC_HANDLE manager = OpenSCManager( NULL, NULL, SC_MANAGER_ALL_ACCESS );
|
|
||||||
if (manager == NULL)
|
|
||||||
{
|
|
||||||
MessageBox (NULL, "OpenSCManager failed", NULL, MB_SERVICE_NOTIFICATION);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
SC_HANDLE service = OpenService (manager, PACKAGE_STRING, DELETE);
|
|
||||||
if (service) {
|
|
||||||
DeleteService(service);
|
|
||||||
CloseServiceHandle (service);
|
|
||||||
printf ("Service deleted, may require reboot to complete removal\n");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
printf("Service not found\n");
|
|
||||||
CloseServiceHandle (manager);
|
|
||||||
Sleep (1500);
|
|
||||||
}
|
|
||||||
void ControlHandler(DWORD request)
|
|
||||||
{
|
|
||||||
switch(request) {
|
|
||||||
case SERVICE_CONTROL_STOP:
|
|
||||||
if (ServiceStatus.dwCurrentState != SERVICE_STOP)
|
|
||||||
{
|
|
||||||
ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
|
|
||||||
SetServiceStatus (hStatus, &ServiceStatus);
|
|
||||||
global.running = ICE_HALTING;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Report current status
|
|
||||||
SetServiceStatus (hStatus, &ServiceStatus);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ServiceMain(int argc, char** argv)
|
|
||||||
{
|
|
||||||
ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
|
|
||||||
ServiceStatus.dwWin32ExitCode = 0;
|
|
||||||
ServiceStatus.dwServiceSpecificExitCode = 0;
|
|
||||||
ServiceStatus.dwCheckPoint = 0;
|
|
||||||
ServiceStatus.dwWaitHint = 0;
|
|
||||||
|
|
||||||
hStatus = RegisterServiceCtrlHandler(PACKAGE_STRING, (LPHANDLER_FUNCTION)ControlHandler);
|
|
||||||
if (hStatus == (SERVICE_STATUS_HANDLE)0) {
|
|
||||||
// Registering Control Handler failed
|
|
||||||
MessageBox (NULL, "RegisterServiceCtrlHandler failed", NULL, MB_SERVICE_NOTIFICATION);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
// We report the running status to SCM.
|
|
||||||
ServiceStatus.dwCurrentState = SERVICE_RUNNING;
|
|
||||||
ServiceStatus.dwControlsAccepted = SERVICE_ACCEPT_STOP;
|
|
||||||
SetServiceStatus (hStatus, &ServiceStatus);
|
|
||||||
|
|
||||||
/* Here we do the work */
|
|
||||||
|
|
||||||
int argc2 = 3;
|
|
||||||
char* argv2 [4];
|
|
||||||
|
|
||||||
argv2 [0] = argv[0];
|
|
||||||
argv2 [1] = "-c";
|
|
||||||
if (argc < 2)
|
|
||||||
argv2 [2] = "icecast.xml";
|
|
||||||
else
|
|
||||||
argv2 [2] = argv[1];
|
|
||||||
argv2[3] = NULL;
|
|
||||||
|
|
||||||
ServiceStatus.dwWin32ExitCode = mainService(argc2, (char **)argv2);
|
|
||||||
|
|
||||||
ServiceStatus.dwCurrentState = SERVICE_STOPPED;
|
|
||||||
SetServiceStatus(hStatus, &ServiceStatus);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
if (argc < 2)
|
|
||||||
{
|
|
||||||
printf ("Usage:\n %s remove\n %s install path\n", argv[0], argv[0]);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (!strcmp(argv[1], "install"))
|
|
||||||
{
|
|
||||||
if (argc > 2)
|
|
||||||
installService(argv[2]);
|
|
||||||
else
|
|
||||||
printf ("install requires a path arg as well\n");
|
|
||||||
Sleep (2000);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (!strcmp(argv[1], "remove") || !strcmp(argv[1], "uninstall"))
|
|
||||||
{
|
|
||||||
removeService();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_chdir(argv[1]) < 0)
|
|
||||||
{
|
|
||||||
char buffer [256];
|
|
||||||
_snprintf (buffer, sizeof(buffer), "Unable to change to directory %s", argv[1]);
|
|
||||||
MessageBox (NULL, buffer, NULL, MB_SERVICE_NOTIFICATION);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
SERVICE_TABLE_ENTRY ServiceTable[2];
|
|
||||||
ServiceTable[0].lpServiceName = PACKAGE_STRING;
|
|
||||||
ServiceTable[0].lpServiceProc = (LPSERVICE_MAIN_FUNCTION)ServiceMain;
|
|
||||||
|
|
||||||
ServiceTable[1].lpServiceName = NULL;
|
|
||||||
ServiceTable[1].lpServiceProc = NULL;
|
|
||||||
// Start the control dispatcher thread for our service
|
|
||||||
if (StartServiceCtrlDispatcher(ServiceTable) == 0)
|
|
||||||
MessageBox (NULL, "StartServiceCtrlDispatcher failed", NULL, MB_SERVICE_NOTIFICATION);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
|
@ -1,109 +0,0 @@
|
||||||
# Microsoft Developer Studio Project File - Name="icecastService" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=icecastService - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "icecastService.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!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 "icecastService.mak" CFG="icecastService - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "icecastService - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "icecastService - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "icecastService - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "releaseservice_tmp"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "WIN32_SERVICE" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /D PACKAGE_STRING=\"Icecast-trunk\" /c
|
|
||||||
# SUBTRACT CPP /X
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVSE.lib ws2_32.lib theora_static_d.lib libspeex.lib /nologo /subsystem:console /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmtd.lib"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "icecastService - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "icecastService___Win32_Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "icecastService___Win32_Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "debugservice_tmp"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../" /I "../../libxslt/include" /I "../../curl/include" /I "../../iconv/include" /I "../../libxml2/include" /I "..\src" /I "..\src/httpp" /I "..\src/thread" /I "..\src/log" /I "..\src/avl" /I "..\src/net" /I "..\src/timings" /I "../../pthreads" /I "../../oggvorbis-win32sdk-1.0.1/include" /I "../../theora/include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "WIN32_SERVICE" /D "HAVE_CURL" /D "USE_YP" /D "HAVE_SYS_STAT_H" /D PACKAGE_VERSION=\"2.3.2\" /D "HAVE_THEORA" /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 libcurl.lib ogg_static_d.lib vorbis_static.lib libxml2.lib libxslt.lib iconv.lib pthreadVC.lib ws2_32.lib theora_static_d.lib libspeex.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcmt.lib" /pdbtype:sept
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "icecastService - Win32 Release"
|
|
||||||
# Name "icecastService - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\icecastService.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\src\main.c
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
|
@ -1,13 +0,0 @@
|
||||||
//
|
|
||||||
// ICECAST2WIN.RC2 - resources Microsoft Visual C++ does not edit directly
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
#error this file is not editable by Microsoft Visual C++
|
|
||||||
#endif //APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Add manually edited resources here...
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
|
@ -1,6 +0,0 @@
|
||||||
## Process this file with automake to produce Makefile.in
|
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = foreign
|
|
||||||
|
|
||||||
EXTRA_DIST = Icecast2win.rc2
|
|
||||||
|
|
|
@ -1,78 +0,0 @@
|
||||||
//{{NO_DEPENDENCIES}}
|
|
||||||
// Microsoft Developer Studio generated include file.
|
|
||||||
// Used by Icecast2win.rc
|
|
||||||
//
|
|
||||||
#define IDM_ABOUTBOX 0x0010
|
|
||||||
#define IDD_ABOUTBOX 100
|
|
||||||
#define IDS_ABOUTBOX 101
|
|
||||||
#define IDD_ICECAST2WIN_DIALOG 102
|
|
||||||
#define IDR_MAINFRAME 128
|
|
||||||
#define IDR_MENU1 132
|
|
||||||
#define IDB_BITMAP1 134
|
|
||||||
#define IDB_BITMAP2 135
|
|
||||||
#define IDI_R 141
|
|
||||||
#define IDI_G 142
|
|
||||||
#define IDI_ICON1 142
|
|
||||||
#define IDD_SERVERSTATUS 144
|
|
||||||
#define IDD_SSTATUS 145
|
|
||||||
#define IDD_CONFIGDIALOG 146
|
|
||||||
#define IDD_STATSDIALOG 147
|
|
||||||
#define IDB_BITMAP3 149
|
|
||||||
#define IDB_BITMAP4 150
|
|
||||||
#define IDB_BITMAP5 151
|
|
||||||
#define IDB_BITMAP6 152
|
|
||||||
#define IDR_MENU2 153
|
|
||||||
#define IDR_MENU3 154
|
|
||||||
#define IDC_CURSOR1 155
|
|
||||||
#define IDC_CURSOR2 156
|
|
||||||
#define IDB_BITMAP7 159
|
|
||||||
#define IDR_TRAY 160
|
|
||||||
#define IDR_MENU4 161
|
|
||||||
#define IDB_BITMAP8 163
|
|
||||||
#define IDB_BITMAP9 164
|
|
||||||
#define IDC_MAINTAB 1000
|
|
||||||
#define IDC_ERROR_EDIT 1003
|
|
||||||
#define IDC_ACCESS_EDIT 1004
|
|
||||||
#define IDC_CONFIG_EDIT 1006
|
|
||||||
#define IDC_SERVERSTATUS 1008
|
|
||||||
#define IDC_SOURCES_CONNECTED 1009
|
|
||||||
#define IDC_NUMBER_CLIENTS 1010
|
|
||||||
#define IDC_GROUP1 1011
|
|
||||||
#define IDC_STATS_EDIT 1012
|
|
||||||
#define IDC_CONFIG 1020
|
|
||||||
#define IDC_STATSLIST 1021
|
|
||||||
#define IDC_SOURCELIST 1022
|
|
||||||
#define IDC_START 1023
|
|
||||||
#define IDC_AUTOSTART 1024
|
|
||||||
#define IDC_FILLER1 1025
|
|
||||||
#define IDC_FILLER2 1026
|
|
||||||
#define IDC_STATIC_SS 1029
|
|
||||||
#define IDC_GLOBALSTAT_LIST 1030
|
|
||||||
#define IDC_STATIC_GS 1031
|
|
||||||
#define IDC_STATIC_SLS 1032
|
|
||||||
#define IDC_RUNNINGFOR 1033
|
|
||||||
#define IDC_STATIC_RUN 1034
|
|
||||||
#define IDC_STATICBLACK 1035
|
|
||||||
#define IDC_HIDESYSTRAY 1036
|
|
||||||
#define ID_FILE_STARTSERVER 32771
|
|
||||||
#define ID_FILE_EXIT 32772
|
|
||||||
#define ID_FILE_STOPSERVER 32774
|
|
||||||
#define ID_FILE 32775
|
|
||||||
#define ID_POPUP_ADDTOGLOBALSTATLIST 32776
|
|
||||||
#define ID__DELETEFROMGLOBALSTATS 32777
|
|
||||||
#define ID__MAKETHISSTATTHEWINDOWTITLE 32779
|
|
||||||
#define ID_BLANK_RESTORE 32780
|
|
||||||
#define ID_ABOUT_HELP 32781
|
|
||||||
#define ID_FILE_EDITCONFIGURATION 32782
|
|
||||||
#define ID_ABOUT_CREDITS 32784
|
|
||||||
|
|
||||||
// Next default values for new objects
|
|
||||||
//
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 165
|
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32785
|
|
||||||
#define _APS_NEXT_CONTROL_VALUE 1037
|
|
||||||
#define _APS_NEXT_SYMED_VALUE 101
|
|
||||||
#endif
|
|
||||||
#endif
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 5.2 KiB |
Loading…
Reference in New Issue
Block a user