From 39823b5d8973121a0408961f624d5d2e7f3782cd Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Wed, 19 Mar 2014 08:22:53 -0700 Subject: [PATCH] Delete the unfinished crash reporter --- Makefile | 4 - configure.ac | 13 -- reporter/Makefile | 48 ----- reporter/aegisub.cpp | 58 ------ reporter/aegisub.h | 39 ---- reporter/include/platform.h | 305 ----------------------------- reporter/libraries.cpp | 66 ------- reporter/main.cpp | 168 ---------------- reporter/main.h | 62 ------ reporter/platform.cpp | 209 -------------------- reporter/platform_unix.cpp | 47 ----- reporter/platform_unix.h | 42 ---- reporter/platform_unix_bsd.cpp | 74 ------- reporter/platform_unix_bsd.h | 40 ---- reporter/platform_unix_linux.cpp | 109 ----------- reporter/platform_unix_linux.h | 42 ---- reporter/platform_unix_osx.cpp | 95 --------- reporter/platform_unix_osx.h | 43 ---- reporter/platform_windows.cpp | 104 ---------- reporter/platform_windows.h | 53 ----- reporter/progress.cpp | 41 ---- reporter/progress.h | 36 ---- reporter/r_pre.cpp | 23 --- reporter/r_pre.h | 70 ------- reporter/report.cpp | 130 ------------- reporter/report.h | 37 ---- reporter/sha256.c | 324 ------------------------------- reporter/sha256.h | 52 ----- reporter/upload.cpp | 149 -------------- reporter/upload.h | 46 ----- reporter/util.cpp | 46 ----- reporter/util.h | 30 --- reporter/view.cpp | 80 -------- reporter/view.h | 43 ---- 34 files changed, 2728 deletions(-) delete mode 100644 reporter/Makefile delete mode 100644 reporter/aegisub.cpp delete mode 100644 reporter/aegisub.h delete mode 100644 reporter/include/platform.h delete mode 100644 reporter/libraries.cpp delete mode 100644 reporter/main.cpp delete mode 100644 reporter/main.h delete mode 100644 reporter/platform.cpp delete mode 100644 reporter/platform_unix.cpp delete mode 100644 reporter/platform_unix.h delete mode 100644 reporter/platform_unix_bsd.cpp delete mode 100644 reporter/platform_unix_bsd.h delete mode 100644 reporter/platform_unix_linux.cpp delete mode 100644 reporter/platform_unix_linux.h delete mode 100644 reporter/platform_unix_osx.cpp delete mode 100644 reporter/platform_unix_osx.h delete mode 100644 reporter/platform_windows.cpp delete mode 100644 reporter/platform_windows.h delete mode 100644 reporter/progress.cpp delete mode 100644 reporter/progress.h delete mode 100644 reporter/r_pre.cpp delete mode 100644 reporter/r_pre.h delete mode 100644 reporter/report.cpp delete mode 100644 reporter/report.h delete mode 100644 reporter/sha256.c delete mode 100644 reporter/sha256.h delete mode 100644 reporter/upload.cpp delete mode 100644 reporter/upload.h delete mode 100644 reporter/util.cpp delete mode 100644 reporter/util.h delete mode 100644 reporter/view.cpp delete mode 100644 reporter/view.h diff --git a/Makefile b/Makefile index 45394f131..828f49666 100644 --- a/Makefile +++ b/Makefile @@ -10,10 +10,6 @@ SUBDIRS += \ desktop \ po -ifeq (yes, $(ENABLE_REPORTER)) -SUBDIRS += reporter -endif - all: ; ifeq (yes, $(BUILD_DARWIN)) diff --git a/configure.ac b/configure.ac index aa62633fb..5fbab315c 100644 --- a/configure.ac +++ b/configure.ac @@ -488,19 +488,6 @@ AC_MSG_RESULT(${with_update_url:=/trunk}) AC_DEFINE_UNQUOTED([UPDATE_CHECKER_BASE_URL], ["$with_update_url"], [Base path for the update checker]) -################ -# Crash reporter -################ -AC_MSG_CHECKING([whether to enable the crash reporter]) -AC_ARG_ENABLE(crash-reporter, - AS_HELP_STRING([--enable-crash-reporter], [enable the crash reporter [no]])) -AC_MSG_RESULT(${enable_crash_reporter:=no}) -AS_IF([test "x$enable_crash_reporter" = "xyes"], - [PKG_CHECK_MODULES(LIBCURL, libcurl >= curl_required_version,, - [AC_MSG_FAILURE([the crash repoter requires >= cURL curl_required_version])])]) -ENABLE_REPORTER="$enable_crash_reporter" -AC_SUBST(ENABLE_REPORTER) - #################################################################### # Default settings for Providers/Players # * This is done at the end to preserve sanity rather than littering diff --git a/reporter/Makefile b/reporter/Makefile deleted file mode 100644 index 2a9429168..000000000 --- a/reporter/Makefile +++ /dev/null @@ -1,48 +0,0 @@ -include ../Makefile.inc - -PROGRAM = reporter-3.0 -PROGRAM_INSTALL = yes -PRECOMPILED_HEADER_NAME=r_pre.h - -CXXFLAGS += -Iinclude $(CFLAGS_WX) -I../libaegisub/include -LIBS += $(LIBS_WX) $(LIBS_LIBCURL) -L../libaegisub -laegisub $(LIBS_UCHARDET) $(LIBS_GL) - -# File-specific flags -upload.o: CXXFLAGS += $(CFLAGS_CURL) - -SRC = \ - aegisub.cpp \ - main.cpp \ - platform.cpp \ - platform_unix.cpp \ - progress.cpp \ - report.cpp \ - upload.cpp \ - util.cpp \ - view.cpp - - -ifeq (yes, $(BUILD_BSD)) -SRC += platform_unix_bsd.cpp -else -EXTRA_DIST += platform_unix_bsd.cpp -endif - -ifeq (yes, $(BUILD_LINUX)) -SRC += platform_unix_linux.cpp -else -EXTRA_DIST += platform_unix_linux.cpp -endif - -ifeq (yes, $(BUILD_DARWIN)) -SRC += platform_unix_osx.cpp -else -EXTRA_DIST += platform_unix_osx.cpp -endif - -HEADER = \ - *.h \ - include/*.h - -include ../Makefile.target --include *.d diff --git a/reporter/aegisub.cpp b/reporter/aegisub.cpp deleted file mode 100644 index db930c33c..000000000 --- a/reporter/aegisub.cpp +++ /dev/null @@ -1,58 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file aegisub.cpp -/// @brief Aegisub specific configuration options and properties. -/// @ingroup base - -#ifndef R_PRECOMP -#endif - -#include "aegisub.h" -#include "util.h" - -#include - -#ifdef __WINDOWS__ -#include "../src/config.h" -#else -#include "../acconf.h" -#endif - -Aegisub::Aegisub() { - std::string default_config("{}"); - opt = new agi::Options(util::config_path() + "config.json", default_config, agi::Options::FLUSH_SKIP); -} - - -Aegisub::~Aegisub() { - delete opt; -} - - -const std::string Aegisub::GetString(std::string key) { - return opt->Get(key)->GetString(); -} - - -int64_t Aegisub::GetInt(std::string key) { - return opt->Get(key)->GetInt(); -} - - -bool Aegisub::GetBool(std::string key) { - return opt->Get(key)->GetBool(); -} diff --git a/reporter/aegisub.h b/reporter/aegisub.h deleted file mode 100644 index f43bc9a04..000000000 --- a/reporter/aegisub.h +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file aegisub.h -/// @see aegisub.cpp -/// @ingroup base - -#ifndef R_PRECOMP -#include -#endif - -#include - -/// @class Aegisub -/// @brief Gather Aegisub information from the config file or otherwise. -class Aegisub { -private: - agi::Options *opt; -public: - Aegisub(); - ~Aegisub(); - const agi::OptionValue* Read(std::string key); - const std::string GetString(std::string key); - int64_t GetInt(std::string key); - bool GetBool(std::string key); -}; diff --git a/reporter/include/platform.h b/reporter/include/platform.h deleted file mode 100644 index 33d1256de..000000000 --- a/reporter/include/platform.h +++ /dev/null @@ -1,305 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform.h -/// @brief API for gathering platform information. -/// @see platform.cpp -/// @ingroup base - -#ifndef R_PRECOMP -#include -#include -#include -#include -#endif - -/// @class Platform -/// @brief Grab platform-specific information. -class Platform { -public: - - /// Constructor - Platform() {}; - - /// Destructor - ~Platform(); - - /// Get platform instance. - static Platform* GetPlatform(); - - /// @name Platform Agonstic - /// These are platform agnostic mostly from wx functions. - //@{ - - // From wxPlatformInfo - - /// Architecture - /// @return Architecture name. - /// @retval 32 bit, 64 bit - std::string ArchName(); - - /// OS Family - /// @return OS Family - /// @retval Unix, Windows, Mac - std::string OSFamily(); - - /// OS Name - /// @return OS Name - /// @retval FreeBSD, Windows, Mac - std::string OSName(); - - /// Endian - /// @return Endian - /// @retval Little endian, Big endian - std::string Endian(); - - // From - - /// Display depth - /// @return Depth - /// @return Integer - int DisplayDepth(); - - /// Display size - /// @return Size delimited by a space. - /// @retval "w h" - std::string DisplaySize(); - - /// Pixels per inch - /// @return PPI - /// @retval Integer - std::string DisplayPPI(); - - // Misc - - /// Report signature - /// @return Signature - /// @retval SHA256 hash - std::string Signature(); - - /// wxWidgets version - /// @return Version - /// @retval Major.Minor.Micro.Patch: 2.9.0.0 - std::string wxVersion(); - - /// Locale - /// @return Locale name - /// @retval C,POSIX, - std::string Locale(); - - /// Language currently in use - /// @return Language reporter is currently running in - /// @retval Language code: en_US, en_CA... - const char* Language(); - - /// System language - /// @return Language operating system is currently running in - /// @retval Language code: en_US, en_CA... - const char* SystemLanguage(); - - /// Date - /// @return Date - /// @retval Date in YYYY-MM-DD - std::string Date(); - - /// Time - /// @return Time - /// @retval Time in HH:MM:SS - std::string Time(); - - /// TimeZone - /// @return TimeZone - /// @retval EST,EDT,JST... - std::string TimeZone(); - //@} - - /// @name Platform Specific - /// The following are all platform-specific. - //@{ - // Misc - - /// Operating System version - /// @return OS Version - /// @retval Any - virtual const std::string OSVersion()=0; - - // Hardware - - /// CPU ID string - /// @return CPU ID - /// @retval Any, ex: Intel(R) Pentium(R) M processor 1600MHz - virtual std::string CPUId()=0; - - /// CPU Speed - /// @return Speed - /// @retval Integer - virtual std::string CPUSpeed()=0; - - /// CPU Count - /// @return Count - /// @retval Integer - virtual int CPUCount()=0; - - /// CPU Cores - /// @return Cores - /// @retval Integer - virtual int CPUCores()=0; - - /// CPU Features - /// @return Features set 1 - /// @retval FPU,VME,DE,PSE,TSC,MSR... - virtual std::string CPUFeatures()=0; - - /// CPU Features2 - /// @return Features set 2 - /// @retval CPU-specific features - /// @note "EST,TM2" on my P-M, or "SYSCALL,NX,MMX+,LM,3DNow!+,3DNow!" on an Opteron - virtual std::string CPUFeatures2()=0; - - /// System memory - /// @return Memory - /// @retval Integer in bytes - virtual uint64_t Memory()=0; - - /// OpenGL vendor - /// @return Vendor - /// @retval Any - virtual std::string OpenGLVendor(); - - /// OpenGL renderer - /// @return Renderer - /// @retval Any - virtual std::string OpenGLRenderer(); - - /// OpenGL version - /// @return Renderer version - /// @retval Any - virtual std::string OpenGLVersion(); - - /// OpenGL extensions - /// @return OpenGL extensions - /// @retval Space delimited list of extensions - virtual std::string OpenGLExt(); - //@} - - /// @name Windows - //@{ -#ifdef __WINDOWS__ - - /// Service pack - /// @return Service pack - /// @retval Any - virtual std::string ServicePack()=0; - - /// Graphics driver version - /// @return Driver version - /// @retval Any - virtual std::string DriverGraphicsVersion()=0; - - /// Directshow filters installed - /// @return json::Object of filters installed - /// @retval A json::Object format of: - /// \verbatim - /// - /// [name] - /// - /// \endverbatim - virtual std::string DirectShowFilters()=0; - - /// AntiVirus installed - /// @return true/false - /// @retval 1,0 - virtual std::string AntiVirus()=0; - - /// Firewall installed - /// @return true/false - /// @retval 1,0 - virtual std::string Firewall()=0; - - /// DLL versions used - /// @return json::Array of DLLs used - /// @retval A json::Array in the format of: - /// \verbatim - /// { "version", "name" } - /// \endverbatim - virtual std::string DLLVersions()=0; -#endif - //@} - - /// @name Unix - //@{ -#ifdef __UNIX__ - - /// Library versions used - /// @return json::Array of DLLs used - /// @retval A json::Array in the format of: - /// \verbatim - /// { "version", "name" } - /// \endverbatim - virtual std::string UnixLibraries()=0; - - /// Desktop environment - /// @return Environment - /// @retval Gnome, KDE, WindowMaker... - virtual const char* DesktopEnvironment()=0; -#endif - //@} - - /// @name OS X - //@{ -#ifdef __APPLE__ - - /// OS patch level - /// @return Patch level - /// @retval Any - virtual std::string PatchLevel()=0; - - /// Hardware model - /// @return Model - /// @retval Any - virtual std::string HardwareModel()=0; -#endif - //@} - -private: - void Init(); - - /// wxPlatformInfo struct. - const wxPlatformInfo plat; - - /// wxLocale instance. - wxLocale *locale; - - /// wxGLCanvas. - wxGLCanvas *glc; - - /// wxGLContext. - wxGLContext *ctx; - - /// Available video information. - enum VideoInfo { - VIDEO_RENDERER, ///< Renderer - VIDEO_VENDOR, ///< Vendor - VIDEO_VERSION, ///< Version - VIDEO_EXT ///< Extensions - }; - - /// Retrieve OpenGL video information. - /// @param which Requested information - /// @return Video info. - std::string GetVideoInfo(enum Platform::VideoInfo which); - -}; diff --git a/reporter/libraries.cpp b/reporter/libraries.cpp deleted file mode 100644 index ad548bd33..000000000 --- a/reporter/libraries.cpp +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id: libraries.cpp 3601 2009-09-28 08:08:16Z verm $ - -/// @file libraries.cpp -/// @brief Pragmas for automatically linking in required libraries during Windows build -/// @ingroup base - -#if __VISUALC__ >= 1200 -// wxWidgets -#if wxCHECK_VERSION(2, 9, 0) -#ifdef __WXDEBUG__ -#pragma comment(lib, "wxzlibd.lib") -#pragma comment(lib, "wxpngd.lib") -#pragma comment(lib, "wxregexud.lib") -#pragma comment(lib, "wxbase29ud.lib") -#pragma comment(lib, "wxbase29ud_net.lib") -#pragma comment(lib, "wxmsw29ud_media.lib") -#pragma comment(lib, "wxmsw29ud_core.lib") -#pragma comment(lib, "wxmsw29ud_adv.lib") -#pragma comment(lib, "wxmsw29ud_gl.lib") -#pragma comment(lib, "wxmsw29ud_stc.lib") -#pragma comment(lib, "wxscintillad.lib") -#pragma comment(lib, "wxexpatd.lib") -#else -#pragma comment(lib, "wxzlib.lib") -#pragma comment(lib, "wxpng.lib") -#pragma comment(lib, "wxregexu.lib") -#pragma comment(lib, "wxbase29u.lib") -#pragma comment(lib, "wxbase29u_net.lib") -#pragma comment(lib, "wxmsw29u_media.lib") -#pragma comment(lib, "wxmsw29u_core.lib") -#pragma comment(lib, "wxmsw29u_adv.lib") -#pragma comment(lib, "wxmsw29u_gl.lib") -#pragma comment(lib, "wxmsw29u_stc.lib") -#pragma comment(lib, "wxscintilla.lib") -#pragma comment(lib, "wxexpat.lib") -#endif - -#else -#error "wxWidgets 2.9 is required" -#endif // wxWidgets - -// Standard Win32 Libraries -#pragma comment(lib, "comctl32.lib") -#pragma comment(lib, "rpcrt4.lib") -#pragma comment(lib, "ws2_32.lib") -#pragma comment(lib, "winmm.lib") -#pragma comment(lib, "wldap32.lib") - -#pragma comment(lib, "libcurl.lib") - -#endif // VisualC - diff --git a/reporter/main.cpp b/reporter/main.cpp deleted file mode 100644 index 5c1990399..000000000 --- a/reporter/main.cpp +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file main.cpp -/// @brief Main loop -/// @ingroup base - -#ifndef R_PRECOMP -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#endif - -#include - -#include "main.h" -#include "upload.h" -#include "util.h" - -/// @brief Init the reporter. -bool Reporter::OnInit() { - - const std::string path_log(util::config_path() + "log/"); - wxFileName::Mkdir(path_log, 0777, wxPATH_MKDIR_FULL); - agi::log::log = new agi::log::LogSink; -// if ( !wxApp::OnInit() ) -// return false; - - wxApp::CheckBuildOptions(WX_BUILD_OPTIONS_SIGNATURE, _("Reporter").c_str()); - - - static const wxCmdLineEntryDesc cmdLineDesc[] = { - { wxCMD_LINE_SWITCH, "c", "crash", "Launch in crash mode.", wxCMD_LINE_VAL_NONE, 0 }, - { wxCMD_LINE_SWITCH, "r", "report", "Launch in Report mode.", wxCMD_LINE_VAL_NONE, 0 }, - { wxCMD_LINE_SWITCH, "j", "json", "Dump JSON file", wxCMD_LINE_VAL_NONE, 0 }, - { wxCMD_LINE_SWITCH, "h", "help", "This help message", wxCMD_LINE_VAL_NONE, wxCMD_LINE_OPTION_HELP }, - { wxCMD_LINE_NONE, NULL, NULL, NULL, wxCMD_LINE_VAL_NONE, 0 } - }; - - - wxCmdLineParser parser(cmdLineDesc, argc, argv); - - parser.SetLogo("Aegisub Reporter version x.x"); - parser.SetCmdLine(argc, argv); - switch ( parser.Parse() ) { - case -1: - return false; - break; // Help - case 0: - break; // OK - default: - wxLogMessage(_T("Syntax error.")); - return false; - break; - } - - setlocale(LC_NUMERIC, "C"); - setlocale(LC_CTYPE, "C"); - wxLocale *locale = new wxLocale(); - locale->Init(wxLANGUAGE_ENGLISH); -#ifdef __WINDOWS__ - wxStandardPathsBase &paths = wxStandardPaths::Get(); - locale->AddCatalogLookupPathPrefix(wxString::Format("%s/locale", paths.GetDataDir())); - locale->AddCatalog(_T("reporter")); -#else - locale->AddCatalog("reporter"); -#endif - locale->AddCatalog(_T("wxstd")); - setlocale(LC_NUMERIC, "C"); - setlocale(LC_CTYPE, "C"); - - - mFrame *frame = new mFrame(_("Aegisub Reporter")); - - if (parser.Found("j")) { - r->Save("report.json"); - std::cout << "Report saved to report.json" << std::endl; - return false; - } - - SetTopWindow(frame); - - r = new Report; - frame->SetReport(r); - - return true; -} - -/// Main frame. -/// @param window_title Window title. -mFrame::mFrame(const wxString &window_title) - : wxFrame(NULL, wxID_ANY, window_title, wxDefaultPosition, wxSize(300,-1)) { - - wxBoxSizer *topSizer = new wxBoxSizer(wxVERTICAL); - - wxBoxSizer *msgSizer = new wxBoxSizer(wxVERTICAL); - topSizer->Add(msgSizer, 0, wxALL, 5); - - wxStaticText *title = new wxStaticText(this, -1, _("Welcome to the Aegisub reporter!")); - msgSizer->Add(title, 0, wxALL, 5); - title->SetFont(wxFont(11, wxFONTFAMILY_SWISS, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_BOLD)); - - wxStaticText *msg = new wxStaticText(this, -1, _("In order to better help us target development, and improve Aegisub we would like you to submit some information about your system and setup.")); - msg->Wrap(325); - msgSizer->Add(msg, 1, wxALL, 5); - - wxStaticText *notice = new wxStaticText(this, -1, _("This information is completely anonymous, no personal information is sent along it is strictly used for targeting new features and the future direction of Aegisub.")); - msgSizer->Add(notice, 1, wxALL, 5); - notice->SetFont(wxFont(11, wxFONTFAMILY_SWISS, wxFONTSTYLE_ITALIC, wxFONTWEIGHT_NORMAL)); - notice->Wrap(325); - msgSizer->Add(new wxButton(this, 42, "View Report"), 0, wxTOP, 5); - - wxStdDialogButtonSizer *stdButton = new wxStdDialogButtonSizer(); - stdButton->AddButton(new wxButton(this, wxID_OK, _("Submit"))); - stdButton->AddButton(new wxButton(this, wxID_CANCEL, _("Cancel"))); - stdButton->Realize(); - topSizer->Add(stdButton, 0, wxALL, 5); - - this->SetSizerAndFit(topSizer); - msgSizer->Layout(); - - // Is there a better way to do this? - this->SetMaxSize(this->GetEffectiveMinSize()); - this->SetMinSize(this->GetEffectiveMinSize()); - - this->Show(true); - -} - -/// @brief View report. -void mFrame::ReportView(wxCommandEvent& WXUNUSED(event)) { - View View(this, r); - View.ShowModal(); -} - -/// @brief Cancel reporter. -void mFrame::Cancel(wxCommandEvent& WXUNUSED(event)) { - Close(true); -} - -/// @brief Submit report -void mFrame::Submit(wxCommandEvent& WXUNUSED(event)) { - Progress *progress = new Progress(this); - Upload *upload = new Upload(progress); - upload->Report("./test.json"); -} - diff --git a/reporter/main.h b/reporter/main.h deleted file mode 100644 index d3c171216..000000000 --- a/reporter/main.h +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file main.h -/// @see main.cpp -/// @ingroup base - -#ifndef R_PRECOMP -#include -#include -#include -#include -#include -#endif - -#include "view.h" - -/// @brief Reporter -class Reporter : public wxApp { -public: - virtual bool OnInit(); - -private: - Report *r; -}; - -IMPLEMENT_APP(Reporter) - -/// @brief Main frame. -class mFrame : public wxFrame { -public: - mFrame(const wxString& window_title); - void Submit(wxCommandEvent& event); - void Cancel(wxCommandEvent& event); - void ReportView(wxCommandEvent& event); - void SetReport(Report *report) { r = report; } - -private: - Report *r; - DECLARE_EVENT_TABLE() -}; - - -BEGIN_EVENT_TABLE(mFrame, wxFrame) - EVT_BUTTON(wxID_OK, mFrame::Submit) - EVT_BUTTON(wxID_CANCEL, mFrame::Cancel) - EVT_BUTTON(42, mFrame::ReportView) -END_EVENT_TABLE() - diff --git a/reporter/platform.cpp b/reporter/platform.cpp deleted file mode 100644 index 3c198e832..000000000 --- a/reporter/platform.cpp +++ /dev/null @@ -1,209 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform.cpp -/// @brief Base functions for the Platform class. -/// @ingroup base - -#ifndef R_PRECOMP -#include -#include -#include -#include // Display* functions. -#include // Version info. -#include // Locale info. -#include -#endif - -#include "include/platform.h" -#include "platform_windows.h" -#include "platform_unix.h" -#include "platform_unix_bsd.h" -#include "platform_unix_linux.h" -#include "platform_unix_osx.h" - -extern "C" { -#ifdef __WXMAC__ -#include "OpenGL/glu.h" -#include "OpenGL/gl.h" -#else -#include -#include -#endif -} - -/// @brief Constructor. -Platform* Platform::GetPlatform() { -#if defined(__WINDOWS__) - Platform *p = new PlatformWindows; -#elif defined(__UNIX__) -# if defined(__FREEBSD__) - Platform *p = new PlatformUnixBSD; -# elif defined(__LINUX__) - Platform *p = new PlatformUnixLinux; -# elif defined(__APPLE__) - Platform *p = new PlatformUnixOSX; -# else - Platform *p = new PlatformUnix; -# endif -#else - Platform *p = NULL; -#endif // __UNIX__ - p->Init(); - return p; -} - -/// @brief Init variables to avoid duplicate instantiations. -void Platform::Init() { - locale = new wxLocale(); - locale->Init(); - - int attList[] = { WX_GL_RGBA, WX_GL_DOUBLEBUFFER, 0 }; - glc = new wxGLCanvas(wxTheApp->GetTopWindow(), wxID_ANY, attList, wxDefaultPosition, wxSize(0,0)); - ctx = new wxGLContext(glc, 0); - wxGLCanvas &cr = *glc; - ctx->SetCurrent(cr); - -} - -Platform::~Platform() { - delete ctx; - delete glc; - delete locale; -} - -/** - * @brief Gather video adapter information via OpenGL - * - */ -std::string Platform::GetVideoInfo(enum Platform::VideoInfo which) { - - std::string value; - - switch (which) { - case VIDEO_EXT: - return reinterpret_cast(glGetString(GL_EXTENSIONS)); - break; - case VIDEO_RENDERER: - return reinterpret_cast(glGetString(GL_RENDERER)); - break; - case VIDEO_VENDOR: - return reinterpret_cast(glGetString(GL_VENDOR)); - break; - case VIDEO_VERSION: - return reinterpret_cast(glGetString(GL_VERSION)); - default: - return ""; - } - return ""; -} - -std::string Platform::ArchName() { - return std::string(plat.GetArchName()); -} - -std::string Platform::OSFamily() { - return std::string(plat.GetOperatingSystemFamilyName()); -} - -std::string Platform::OSName() { - return std::string(plat.GetOperatingSystemIdName()); -} - -std::string Platform::Endian() { - return std::string(plat.GetEndiannessName()); -} - - -int Platform::DisplayDepth() { - return wxDisplayDepth(); -} - -std::string Platform::DisplaySize() { - int x, y; - wxDisplaySize(&x, &y); - std::stringstream ss; - ss << x << " " << y; - return ss.str(); -} - -std::string Platform::DisplayPPI() { - std::stringstream ss; - ss << wxGetDisplayPPI().GetWidth() << " " << wxGetDisplayPPI().GetHeight(); - return ss.str(); -} - -std::string Platform::wxVersion() { - std::stringstream ss; - ss << wxMAJOR_VERSION << "." << wxMINOR_VERSION << "." << wxRELEASE_NUMBER << "." << wxSUBRELEASE_NUMBER; - return ss.str(); -} - -std::string Platform::Locale() { - return std::string(wxLocale().GetSysName()); -} - -const char* Platform::Language() { - const wxLanguageInfo *info = locale->GetLanguageInfo(locale->GetLanguage()); - return info->CanonicalName.c_str(); -} - -const char* Platform::SystemLanguage() { - const wxLanguageInfo *info = locale->GetLanguageInfo(locale->GetSystemLanguage()); - return info->CanonicalName.c_str(); -} - -std::string Platform::Date() { - return ""; -} - -std::string Platform::Signature() { - return ""; -} - -#ifdef __UNIX__ -const char* Platform::DesktopEnvironment() { - return ""; -} -#endif - -std::string Platform::OpenGLVendor() { - return GetVideoInfo(VIDEO_VENDOR); -} - -std::string Platform::OpenGLRenderer() { - return GetVideoInfo(VIDEO_RENDERER); -} - -std::string Platform::OpenGLVersion() { - return GetVideoInfo(VIDEO_VERSION); -} - -std::string Platform::OpenGLExt() { - return GetVideoInfo(VIDEO_EXT); -} - -#ifdef __APPLE__ - -std::string Platform::PatchLevel() { - return ""; -} - -std::string Platform::HardwareModel() { - return ""; -} - -#endif diff --git a/reporter/platform_unix.cpp b/reporter/platform_unix.cpp deleted file mode 100644 index de7654a56..000000000 --- a/reporter/platform_unix.cpp +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix.cpp -/// @brief Unix Platform extension. -/// @ingroup unix - -#ifndef R_PRECOMP -#include -#include -#include -#endif - -#include "include/platform.h" -#include "platform_unix.h" - -extern "C" { -#include -} - - -const std::string PlatformUnix::OSVersion() { - struct utsname name; - if (uname(&name) != -1) { - return name.release; - } - return ""; -} - -const char* PlatformUnix::DesktopEnvironment() { - return wxTheApp->GetTraits()->GetDesktopEnvironment().c_str(); -} - - diff --git a/reporter/platform_unix.h b/reporter/platform_unix.h deleted file mode 100644 index 4933ca253..000000000 --- a/reporter/platform_unix.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix.h -/// @see platform_unix.cpp -/// @ingroup unix - -class Platform; - -/// @brief General Unix functions. -class PlatformUnix : public Platform { -public: - PlatformUnix() {}; - virtual ~PlatformUnix() {}; - const std::string OSVersion(); - const char* DesktopEnvironment(); - - // Hardware - virtual std::string CPUId() { return ""; } - virtual std::string CPUSpeed() { return ""; } - virtual int CPUCores() { return 0; } - virtual int CPUCount() { return 0; } - virtual std::string CPUFeatures() { return ""; } - virtual std::string CPUFeatures2() { return ""; } - virtual uint64_t Memory() { return 0; } - - // Unix Specific - virtual std::string UnixLibraries() { return ""; }; -}; diff --git a/reporter/platform_unix_bsd.cpp b/reporter/platform_unix_bsd.cpp deleted file mode 100644 index 102409203..000000000 --- a/reporter/platform_unix_bsd.cpp +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix_bsd.cpp -/// @brief BSD Platform extensions. -/// @ingroup unix - -#ifndef R_PRECOMP -#include -#endif - -extern "C" { -#include -#include -} - -#include "include/platform.h" -#include "platform_unix.h" -#include "platform_unix_bsd.h" - - -std::string PlatformUnixBSD::CPUId() { - char id[300]; - size_t len = sizeof(id); - sysctlbyname("hw.model", &id, &len, NULL, 0); - return id; -} - -std::string PlatformUnixBSD::CPUSpeed() { - return ""; -} - -int PlatformUnixBSD::CPUCores() { - return 0; -} - -int PlatformUnixBSD::CPUCount() { - int proc; - size_t len = sizeof(proc); - sysctlbyname("hw.ncpu", &proc, &len, NULL, 0); - return proc; -} - -std::string PlatformUnixBSD::CPUFeatures() { - return ""; -} - -std::string PlatformUnixBSD::CPUFeatures2() { - return ""; -} - -uint64_t PlatformUnixBSD::Memory() { - uint64_t memory; - size_t len = sizeof(memory); - sysctlbyname("hw.physmem", &memory, &len, NULL, 0); - return memory; -} - -std::string PlatformUnixBSD::UnixLibraries() { - return ""; -} diff --git a/reporter/platform_unix_bsd.h b/reporter/platform_unix_bsd.h deleted file mode 100644 index 27b155d0d..000000000 --- a/reporter/platform_unix_bsd.h +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix_bsd.h -/// @see platform_unix_bsd.cpp -/// @ingroup unix - -class Platform; - -/// @brief BSD values. -class PlatformUnixBSD : public PlatformUnix { -public: - PlatformUnixBSD() {}; - virtual ~PlatformUnixBSD() {}; - - // Hardware - virtual std::string CPUId(); - virtual std::string CPUSpeed(); - virtual int CPUCores(); - virtual int CPUCount(); - virtual std::string CPUFeatures(); - virtual std::string CPUFeatures2(); - virtual uint64_t Memory(); - - // Unix Specific - virtual std::string UnixLibraries(); -}; diff --git a/reporter/platform_unix_linux.cpp b/reporter/platform_unix_linux.cpp deleted file mode 100644 index 11136c9fb..000000000 --- a/reporter/platform_unix_linux.cpp +++ /dev/null @@ -1,109 +0,0 @@ -// Copyright (c) 2009, Grigori Goronzy -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix_linux.cpp -/// @brief Linux Platform extensions. -/// @ingroup unix - -#ifndef R_PRECOMP -#include -#include -#include -#endif - -#include "include/platform.h" -#include "platform_unix.h" -#include "platform_unix_linux.h" - - -std::string PlatformUnixLinux::CPUId() { - return getProcValue("/proc/cpuinfo", "model name\t"); -}; - -std::string PlatformUnixLinux::CPUSpeed() { - return getProcValue("/proc/cpuinfo", "cpu MHz\t\t"); -}; - -// Linux doesn't report the number of real CPUs or physical CPU cores, -// but instead the number of "logical" CPUs; this also includes logical cores -// due to SMT/HyperThreading. -// For now report the logical CPU count and no number of cores; this seems -// to make the most sense. -int PlatformUnixLinux::CPUCores() { - return -1; -}; - -int PlatformUnixLinux::CPUCount() { - // This returns the index of the last processor. - // Increment and return as string. - wxString procIndex = getProcValue("/proc/cpuinfo", "processor\t"); - if (procIndex.IsNumber()) { - long val = 0; - procIndex.ToLong(&val); - return val + 1; - } - - // Fallback - return 1; -}; - -std::string PlatformUnixLinux::CPUFeatures() { - return getProcValue("/proc/cpuinfo", "flags\t\t"); -}; - -std::string PlatformUnixLinux::CPUFeatures2() { - return ""; -}; - -uint64_t PlatformUnixLinux::Memory() { - wxString memKb = getProcValue("/proc/meminfo", "MemTotal"); - memKb = memKb.BeforeFirst(' '); - if (memKb.IsNumber()) { - long val = 0; - memKb.ToLong(&val); - return val * 1024; - } - - return -1; -}; - -std::string PlatformUnixLinux::UnixLibraries() { - return ""; -}; - -/** - * @brief Parse a /proc "key: value" style text file and extract a value. - * @return The last valid value - */ -std::string PlatformUnixLinux::getProcValue(const wxString path, const wxString key) { - const wxString prefix = wxString(key) + ":"; - wxTextFile *file = new wxTextFile(path); - wxString val = std::string(); - - file->Open(); - for (wxString str = file->GetFirstLine(); !file->Eof(); str = file->GetNextLine()) { - str.Trim(false); - if (str.StartsWith(prefix)) { - val = wxString(str.Mid(key.Len() + 1)); - val.Trim(false); - } - } - - file->Close(); - delete file; - return std::string(val); -}; - diff --git a/reporter/platform_unix_linux.h b/reporter/platform_unix_linux.h deleted file mode 100644 index 02fc0b785..000000000 --- a/reporter/platform_unix_linux.h +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2009, Grigori Goronzy -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix_linux.h -/// @see platform_unix_linux.cpp -/// @ingroup unix - -class Platform; - -/// @brief Linux values. -class PlatformUnixLinux : public PlatformUnix { -public: - PlatformUnixLinux() {}; - virtual ~PlatformUnixLinux() {}; - - // Hardware - virtual std::string CPUId(); - virtual std::string CPUSpeed(); - virtual int CPUCores(); - virtual int CPUCount(); - virtual std::string CPUFeatures(); - virtual std::string CPUFeatures2(); - virtual uint64_t Memory(); - - // Unix Specific - virtual std::string UnixLibraries(); -private: - virtual std::string getProcValue(const wxString path, const wxString key); -}; diff --git a/reporter/platform_unix_osx.cpp b/reporter/platform_unix_osx.cpp deleted file mode 100644 index 4b8e7f813..000000000 --- a/reporter/platform_unix_osx.cpp +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix_bsd.cpp -/// @brief BSD Platform extensions. -/// @ingroup unix - -#ifndef R_PRECOMP -#include -#endif - -extern "C" { -#include -#include -} - -#include "include/platform.h" -#include "platform_unix.h" -#include "platform_unix_osx.h" - - -std::string PlatformUnixOSX::CPUId() { - char id[300]; - size_t len = sizeof(id); - sysctlbyname("machdep.cpu.brand_string", &id, &len, NULL, 0); - return wxString::Format("%s", id).ToStdString(); -}; - -std::string PlatformUnixOSX::CPUSpeed() { - uint64_t speed; - size_t len = sizeof(speed); - sysctlbyname("hw.cpufrequency_max", &speed, &len, NULL, 0); - return wxString::Format("%d", speed / (1000*1000)).ToStdString(); -}; - -int PlatformUnixOSX::CPUCores() { - return 0; -}; - -int PlatformUnixOSX::CPUCount() { - int proc; - size_t len = sizeof(proc); - sysctlbyname("hw.ncpu", &proc, &len, NULL, 0); - return proc; -}; - -std::string PlatformUnixOSX::CPUFeatures() { - char feat[300]; - size_t len = sizeof(feat); - sysctlbyname("machdep.cpu.features", &feat, &len, NULL, 0); - return wxString::Format("%s", feat).ToStdString(); -}; - -std::string PlatformUnixOSX::CPUFeatures2() { - char feat[128]; - size_t len = sizeof(feat); - sysctlbyname("machdep.cpu.extfeatures", &feat, &len, NULL, 0); - return wxString::Format("%s", feat).ToStdString(); -}; - -uint64_t PlatformUnixOSX::Memory() { - uint64_t memory; - size_t len = sizeof(memory); - sysctlbyname("hw.memsize", &memory, &len, NULL, 0); - return memory; -}; - -std::string PlatformUnixOSX::UnixLibraries() { - return ""; -}; - -std::string PlatformUnixOSX::PatchLevel() { - return ""; -} - -std::string PlatformUnixOSX::HardwareModel() { - char model[300]; - size_t len = sizeof(model); - sysctlbyname("hw.model", &model, &len, NULL, 0); - return wxString::Format("%s", model).ToStdString(); -} - diff --git a/reporter/platform_unix_osx.h b/reporter/platform_unix_osx.h deleted file mode 100644 index b7e868be0..000000000 --- a/reporter/platform_unix_osx.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file platform_unix_bsd.h -/// @see platform_unix_bsd.cpp -/// @ingroup unix - -class Platform; - -/// @brief BSD values. -class PlatformUnixOSX : public PlatformUnix { -public: - PlatformUnixOSX() {}; - virtual ~PlatformUnixOSX() {}; - - // Hardware - virtual std::string CPUId(); - virtual std::string CPUSpeed(); - virtual int CPUCores(); - virtual int CPUCount(); - virtual std::string CPUFeatures(); - virtual std::string CPUFeatures2(); - virtual uint64_t Memory(); - - virtual std::string PatchLevel(); - virtual std::string HardwareModel(); - - // Unix Specific - virtual std::string UnixLibraries(); -}; diff --git a/reporter/platform_windows.cpp b/reporter/platform_windows.cpp deleted file mode 100644 index 921b50e7d..000000000 --- a/reporter/platform_windows.cpp +++ /dev/null @@ -1,104 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id: platform_unix.cpp 3592 2009-09-27 04:15:41Z greg $ - -/// @file platform_unix.cpp -/// @brief Unix Platform extension. -/// @ingroup unix - -#ifndef R_PRECOMP -#include -#include -#include -#endif - -#include "include/platform.h" -#include "platform_windows.h" - -std::string PlatformWindows::OSVersion() { - return ""; -} - -std::string PlatformWindows::DesktopEnvironment() { - return wxTheApp->GetTraits()->GetDesktopEnvironment(); -} - -std::string PlatformWindows::CPUId() { - return ""; -}; - -std::string PlatformWindows::CPUSpeed() { - return ""; -}; - -std::string PlatformWindows::CPUCores() { - return ""; -}; - -std::string PlatformWindows::CPUCount() { - return ""; -}; - -std::string PlatformWindows::CPUFeatures() { - return ""; -}; - -std::string PlatformWindows::CPUFeatures2() { - return ""; -}; - -std::string PlatformWindows::Memory() { - return ""; -}; - -std::string PlatformWindows::ServicePack() { - return ""; -}; - -std::string PlatformWindows::DriverGraphicsVersion() { - return ""; -}; - -std::string PlatformWindows::DirectShowFilters() { - return ""; -}; - -std::string PlatformWindows::AntiVirus() { - return ""; -}; - -std::string PlatformWindows::Firewall() { - return ""; -}; - -std::string PlatformWindows::DLLVersions() { - return ""; -}; - -std::string PlatformWindows::OpenGLVendor() { - return ""; -}; - -std::string PlatformWindows::OpenGLRenderer() { - return ""; -}; - -std::string PlatformWindows::OpenGLVersion() { - return ""; -}; - -std::string PlatformWindows::OpenGLExt() { - return ""; -}; diff --git a/reporter/platform_windows.h b/reporter/platform_windows.h deleted file mode 100644 index 6826d4a1a..000000000 --- a/reporter/platform_windows.h +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id: platform_unix.h 3592 2009-09-27 04:15:41Z greg $ - -/// @file platform_unix.h -/// @see platform_unix.cpp -/// @ingroup unix - -class Platform; - -/// @brief General Windows functions. -class PlatformWindows : public Platform { -public: - PlatformWindows() {}; - virtual ~PlatformWindows() {}; - const std::string OSVersion(); - const char* DesktopEnvironment(); - - // Hardware - virtual std::string CPUId(); - virtual std::string CPUSpeed(); - virtual int CPUCores(); - virtual int CPUCount(); - virtual std::string CPUFeatures(); - virtual std::string CPUFeatures2(); - virtual uint64_t Memory(); - - // OpenGL - virtual std::string OpenGLVendor(); - virtual std::string OpenGLRenderer(); - virtual std::string OpenGLVersion(); - virtual std::string OpenGLExt(); - - // Windows Specific - virtual std::string ServicePack(); - virtual std::string DriverGraphicsVersion(); - virtual std::string DirectShowFilters(); - virtual std::string AntiVirus(); - virtual std::string Firewall(); - virtual std::string DLLVersions(); -}; diff --git a/reporter/progress.cpp b/reporter/progress.cpp deleted file mode 100644 index 0961457e3..000000000 --- a/reporter/progress.cpp +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file progress.cpp -/// @brief Progress bar when uploading data. -/// @ingroup base - -#include "progress.h" - -/// @brief Constructor -/// @param frame Main frame. -Progress::Progress(wxWindow *frame) - : wxProgressDialog(_("Progress"), _("Sending data, please wait."), 100, frame, wxPD_CAN_ABORT|wxPD_ELAPSED_TIME|wxPD_ESTIMATED_TIME|wxPD_REMAINING_TIME|wxPD_AUTO_HIDE) { -} - -/// @brief Cancel the transfer. -/// This closes the dialog. -void Progress::Cancel(wxCommandEvent& WXUNUSED(event)) { - printf("close"); - Destroy(); -} - -BEGIN_EVENT_TABLE(Progress, wxProgressDialog) - EVT_BUTTON(wxID_CLOSE, Progress::Cancel) - EVT_BUTTON(wxID_CANCEL, Progress::Cancel) - EVT_CLOSE(Progress::Close) -END_EVENT_TABLE() - diff --git a/reporter/progress.h b/reporter/progress.h deleted file mode 100644 index e597405fa..000000000 --- a/reporter/progress.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file progress.h -/// @see progress.cpp -/// @ingroup base io - -#ifndef R_PRECOMP -#include -#endif - -/// @class Progress -/// @brief Progress bar. -/// @note The Constructor decleration is in main.cpp -class Progress: public wxProgressDialog { -public: - Progress(wxWindow *frame); -private: - /// @brief No-op incase the user hits the window manager close button. - void Close(wxCloseEvent &event) {}; - void Cancel(wxCommandEvent& event); - DECLARE_EVENT_TABLE() -}; diff --git a/reporter/r_pre.cpp b/reporter/r_pre.cpp deleted file mode 100644 index 7bc4cfeae..000000000 --- a/reporter/r_pre.cpp +++ /dev/null @@ -1,23 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id: r_pre.h 3591 2009-09-27 03:12:17Z greg $ - -/// @file wx_pre.h -/// @brief Precompiled header. -/// @ingroup base - -#ifndef R_PRE -#include "r_pre.h" -#endif diff --git a/reporter/r_pre.h b/reporter/r_pre.h deleted file mode 100644 index 04cdb65ba..000000000 --- a/reporter/r_pre.h +++ /dev/null @@ -1,70 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file wx_pre.h -/// @brief Precompiled header. -/// @ingroup base - -#ifdef __cplusplus - -#define R_PRECOMP - -#define _CRT_SECURE_NO_WARNINGS - -// C + System. -#include -#include - -// C++ std -#include - -// 3rd party packages. -#include - - -// WX headers -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/reporter/report.cpp b/reporter/report.cpp deleted file mode 100644 index 904708624..000000000 --- a/reporter/report.cpp +++ /dev/null @@ -1,130 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file report.cpp -/// @brief Generation and manipulation of reports. -/// @ingroup base - -#ifndef R_PRECOMP -#include -#include -#endif - -#include -#include -#include - - -#include "report.h" -#include "include/platform.h" -#include "aegisub.h" - -/// @brief Contstructor -Report::Report() { - - json::Object root; - - Platform *p = Platform::GetPlatform(); - Aegisub a; - - json::Object& general = root["General"]; - general["Signature"] = p->Signature(); - general["Date"] = p->Date(); - general["Architecture"] = p->ArchName(); - general["OS Family"] = p->OSFamily(); - general["OS Name"] = p->OSName(); - general["Endian"] = p->Endian(); - general["OS Version"] = p->OSVersion(); - general["wx Version"] = p->wxVersion(); - general["Locale"] = p->Locale(); - general["Language"] = p->Language(); - general["System Language"] = p->SystemLanguage(); - - try { - json::Object& aegisub = root["Aegisub"]; - aegisub["Last Version"] = a.GetString("Version/Last Version"); - aegisub["Spelling Language"] = a.GetString("Tool/Spell Checker/Language"); - aegisub["Thesaurus Language"] = a.GetString("Tool/Thesaurus/Language"); - aegisub["Audio Player"] = a.GetString("Audio/Player"); - aegisub["Audio Provider"] = a.GetString("Audio/Provider"); - aegisub["Video Provider"] = a.GetString("Video/Provider"); - aegisub["Subtitles Provider"] = a.GetString("Subtitle/Provider"); - aegisub["Save Charset"] = a.GetString("App/Save Charset"); - aegisub["Grid Font Size"] = a.GetInt("Grid/Font Size"); - aegisub["Edit Font Size"] = a.GetInt("Subtitle/Edit Box/Font Size"); - aegisub["Spectrum Enabled"] = a.GetBool("Audio/Spectrum"); - aegisub["Spectrum Quality"] = a.GetInt("Audio/Renderer/Spectrum/Quality"); - aegisub["Call Tips Enabled"] = a.GetBool("App/Call Tips"); - aegisub["Medusa Hotkeys Enabled"] = a.GetBool("Audio/Medusa Timing Hotkeys"); - } catch(...) { - root["Aegisub"]["Error"] = json::String("Config file is corrupted"); - } - - json::Object& hardware = root["Hardware"]; - hardware["Memory Size"] = 0; - - json::Object& cpu = root["CPU"]; - cpu["Id"] = p->CPUId(); - cpu["Speed"] = p->CPUSpeed(); - cpu["Count"] = p->CPUCount(); - cpu["Cores"] = p->CPUCores(); - cpu["Features"] = p->CPUFeatures(); - cpu["Features2"] = p->CPUFeatures2(); - - json::Object& display = root["Display"]; - display["Depth"] = p->DisplayDepth(); - display["Size"] = p->DisplaySize(); - display["Pixels Per Inch"] = p->DisplayPPI(); - - json::Object& gl = display["OpenGL"]; - gl["Vendor"] = p->OpenGLVendor(); - gl["Renderer"] = p->OpenGLRenderer(); - gl["Version"] = p->OpenGLVersion(); - gl["Extensions"] = p->OpenGLExt(); - display["OpenGL"] = gl; - -#ifdef __WINDOWS__ - json::Object& windows = root["Windows"]; - windows["Service Pack"] = json::String(); - windows["Graphics Driver Version"] = json::String(); - windows["DirectShow Filters"] = json::String(); - windows["AntiVirus Installed"] = json::Boolean(); - windows["Firewall Installed"] = json::Boolean(); - windows["DLL"] = json::String(); -#endif - -#ifdef __UNIX__ - json::Object& u_nix = root["Unix"]; - u_nix["Desktop Environment"] = p->DesktopEnvironment(); - u_nix["Libraries"] = p->UnixLibraries(); -#endif - -#ifdef __APPLE__ - json::Object& osx = root["OS X"]; - osx["Patch"] = p->PatchLevel(); - osx["Model"] = p->HardwareModel(); -#endif - - agi::io::Save file("./t.json"); - json::Writer::Write(root, file.Get()); - -} - -/// @brief Return Report as Text for the Clipboard. -void Report::Save(std::string filename) { -// agi::io::Save file(filename); -// json::Writer::Write(root, file.Get()); -} diff --git a/reporter/report.h b/reporter/report.h deleted file mode 100644 index 922f75e93..000000000 --- a/reporter/report.h +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file report.h -/// @see report.cpp -/// @ingroup base - -#ifndef R_PRECOMP -#endif - -/// @class Report -/// @brief Report generator. -class Report { - -public: - Report(); - ~Report() {}; - - /// Save JSON report to a file. - void Save(std::string filename); - -private: - wxLocale *locale; -}; diff --git a/reporter/sha256.c b/reporter/sha256.c deleted file mode 100644 index 328da6e6c..000000000 --- a/reporter/sha256.c +++ /dev/null @@ -1,324 +0,0 @@ -/*- - * Copyright 2005 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/lib/libmd/sha256c.c,v 1.1 2005/03/09 19:23:04 cperciva Exp $ - * $Id$ - */ - -/** @file sha256.c - * @brief Generate SHA256 hashes. - * @ingroup base - */ - -/** @class SHA256Context - * @brief Generate SHA256 hashes. - */ - -#include - -#include "sha256.h" - -static __inline uint32_t -be32dec(const void *pp) -{ - unsigned char const *p = (unsigned char const *)pp; - - return ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | p[3]); -} - -static __inline void -be32enc(void *pp, uint32_t u) -{ - unsigned char *p = (unsigned char *)pp; - - p[0] = (u >> 24) & 0xff; - p[1] = (u >> 16) & 0xff; - p[2] = (u >> 8) & 0xff; - p[3] = u & 0xff; -} - -#if BYTE_ORDER == BIG_ENDIAN - -/* Copy a vector of big-endian uint32_t into a vector of bytes */ -#define be32enc_vect(dst, src, len) \ - memcpy((void *)dst, (const void *)src, (size_t)len) - -/* Copy a vector of bytes into a vector of big-endian uint32_t */ -#define be32dec_vect(dst, src, len) \ - memcpy((void *)dst, (const void *)src, (size_t)len) - -#else /* BYTE_ORDER != BIG_ENDIAN */ - -/* - * Encode a length len/4 vector of (uint32_t) into a length len vector of - * (unsigned char) in big-endian form. Assumes len is a multiple of 4. - */ -static void -be32enc_vect(unsigned char *dst, const uint32_t *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 4; i++) - be32enc(dst + i * 4, src[i]); -} - -/* - * Decode a big-endian length len vector of (unsigned char) into a length - * len/4 vector of (uint32_t). Assumes len is a multiple of 4. - */ -static void -be32dec_vect(uint32_t *dst, const unsigned char *src, size_t len) -{ - size_t i; - - for (i = 0; i < len / 4; i++) - dst[i] = be32dec(src + i * 4); -} - -#endif /* BYTE_ORDER != BIG_ENDIAN */ - -/* Elementary functions used by SHA256 */ -#define Ch(x, y, z) ((x & (y ^ z)) ^ z) -#define Maj(x, y, z) ((x & (y | z)) | (y & z)) -#define SHR(x, n) (x >> n) -#define ROTR(x, n) ((x >> n) | (x << (32 - n))) -#define S0(x) (ROTR(x, 2) ^ ROTR(x, 13) ^ ROTR(x, 22)) -#define S1(x) (ROTR(x, 6) ^ ROTR(x, 11) ^ ROTR(x, 25)) -#define s0(x) (ROTR(x, 7) ^ ROTR(x, 18) ^ SHR(x, 3)) -#define s1(x) (ROTR(x, 17) ^ ROTR(x, 19) ^ SHR(x, 10)) - -/* SHA256 round function */ -#define RND(a, b, c, d, e, f, g, h, k) \ - t0 = h + S1(e) + Ch(e, f, g) + k; \ - t1 = S0(a) + Maj(a, b, c); \ - d += t0; \ - h = t0 + t1; - -/* Adjusted round function for rotating state */ -#define RNDr(S, W, i, k) \ - RND(S[(64 - i) % 8], S[(65 - i) % 8], \ - S[(66 - i) % 8], S[(67 - i) % 8], \ - S[(68 - i) % 8], S[(69 - i) % 8], \ - S[(70 - i) % 8], S[(71 - i) % 8], \ - W[i] + k) - -/* - * SHA256 block compression function. The 256-bit state is transformed via - * the 512-bit input block to produce a new state. - */ -static void -SHA256_Transform(uint32_t * state, const unsigned char block[64]) -{ - uint32_t W[64]; - uint32_t S[8]; - uint32_t t0, t1; - int i; - - /* 1. Prepare message schedule W. */ - be32dec_vect(W, block, 64); - for (i = 16; i < 64; i++) - W[i] = s1(W[i - 2]) + W[i - 7] + s0(W[i - 15]) + W[i - 16]; - - /* 2. Initialize working variables. */ - memcpy(S, state, 32); - - /* 3. Mix. */ - RNDr(S, W, 0, 0x428a2f98); - RNDr(S, W, 1, 0x71374491); - RNDr(S, W, 2, 0xb5c0fbcf); - RNDr(S, W, 3, 0xe9b5dba5); - RNDr(S, W, 4, 0x3956c25b); - RNDr(S, W, 5, 0x59f111f1); - RNDr(S, W, 6, 0x923f82a4); - RNDr(S, W, 7, 0xab1c5ed5); - RNDr(S, W, 8, 0xd807aa98); - RNDr(S, W, 9, 0x12835b01); - RNDr(S, W, 10, 0x243185be); - RNDr(S, W, 11, 0x550c7dc3); - RNDr(S, W, 12, 0x72be5d74); - RNDr(S, W, 13, 0x80deb1fe); - RNDr(S, W, 14, 0x9bdc06a7); - RNDr(S, W, 15, 0xc19bf174); - RNDr(S, W, 16, 0xe49b69c1); - RNDr(S, W, 17, 0xefbe4786); - RNDr(S, W, 18, 0x0fc19dc6); - RNDr(S, W, 19, 0x240ca1cc); - RNDr(S, W, 20, 0x2de92c6f); - RNDr(S, W, 21, 0x4a7484aa); - RNDr(S, W, 22, 0x5cb0a9dc); - RNDr(S, W, 23, 0x76f988da); - RNDr(S, W, 24, 0x983e5152); - RNDr(S, W, 25, 0xa831c66d); - RNDr(S, W, 26, 0xb00327c8); - RNDr(S, W, 27, 0xbf597fc7); - RNDr(S, W, 28, 0xc6e00bf3); - RNDr(S, W, 29, 0xd5a79147); - RNDr(S, W, 30, 0x06ca6351); - RNDr(S, W, 31, 0x14292967); - RNDr(S, W, 32, 0x27b70a85); - RNDr(S, W, 33, 0x2e1b2138); - RNDr(S, W, 34, 0x4d2c6dfc); - RNDr(S, W, 35, 0x53380d13); - RNDr(S, W, 36, 0x650a7354); - RNDr(S, W, 37, 0x766a0abb); - RNDr(S, W, 38, 0x81c2c92e); - RNDr(S, W, 39, 0x92722c85); - RNDr(S, W, 40, 0xa2bfe8a1); - RNDr(S, W, 41, 0xa81a664b); - RNDr(S, W, 42, 0xc24b8b70); - RNDr(S, W, 43, 0xc76c51a3); - RNDr(S, W, 44, 0xd192e819); - RNDr(S, W, 45, 0xd6990624); - RNDr(S, W, 46, 0xf40e3585); - RNDr(S, W, 47, 0x106aa070); - RNDr(S, W, 48, 0x19a4c116); - RNDr(S, W, 49, 0x1e376c08); - RNDr(S, W, 50, 0x2748774c); - RNDr(S, W, 51, 0x34b0bcb5); - RNDr(S, W, 52, 0x391c0cb3); - RNDr(S, W, 53, 0x4ed8aa4a); - RNDr(S, W, 54, 0x5b9cca4f); - RNDr(S, W, 55, 0x682e6ff3); - RNDr(S, W, 56, 0x748f82ee); - RNDr(S, W, 57, 0x78a5636f); - RNDr(S, W, 58, 0x84c87814); - RNDr(S, W, 59, 0x8cc70208); - RNDr(S, W, 60, 0x90befffa); - RNDr(S, W, 61, 0xa4506ceb); - RNDr(S, W, 62, 0xbef9a3f7); - RNDr(S, W, 63, 0xc67178f2); - - /* 4. Mix local working variables into global state */ - for (i = 0; i < 8; i++) - state[i] += S[i]; -} - -static unsigned char PAD[64] = { - 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -/* Add padding and terminating bit-count. */ -static void -SHA256_Pad(SHA256_CTX * ctx) -{ - unsigned char len[8]; - uint32_t r, plen; - - /* - * Convert length to a vector of bytes -- we do this now rather - * than later because the length will change after we pad. - */ - be32enc_vect(len, ctx->count, 8); - - /* Add 1--64 bytes so that the resulting length is 56 mod 64 */ - r = (ctx->count[1] >> 3) & 0x3f; - plen = (r < 56) ? (56 - r) : (120 - r); - SHA256_Update(ctx, PAD, (size_t)plen); - - /* Add the terminating bit-count */ - SHA256_Update(ctx, len, 8); -} - -/* SHA-256 initialization. Begins a SHA-256 operation. */ -void -SHA256_Init(SHA256_CTX * ctx) -{ - - /* Zero bits processed so far */ - ctx->count[0] = ctx->count[1] = 0; - - /* Magic initialization constants */ - ctx->state[0] = 0x6A09E667; - ctx->state[1] = 0xBB67AE85; - ctx->state[2] = 0x3C6EF372; - ctx->state[3] = 0xA54FF53A; - ctx->state[4] = 0x510E527F; - ctx->state[5] = 0x9B05688C; - ctx->state[6] = 0x1F83D9AB; - ctx->state[7] = 0x5BE0CD19; -} - -/* Add bytes into the hash */ -void -SHA256_Update(SHA256_CTX * ctx, const unsigned char *src, size_t len) -{ - uint32_t bitlen[2]; - uint32_t r; - - /* Number of bytes left in the buffer from previous updates */ - r = (ctx->count[1] >> 3) & 0x3f; - - /* Convert the length into a number of bits */ - bitlen[1] = ((uint32_t)len) << 3; - bitlen[0] = (uint32_t)(len >> 29); - - /* Update number of bits */ - if ((ctx->count[1] += bitlen[1]) < bitlen[1]) - ctx->count[0]++; - ctx->count[0] += bitlen[0]; - - /* Handle the case where we don't need to perform any transforms */ - if (len < 64 - r) { - memcpy(&ctx->buf[r], src, len); - return; - } - - /* Finish the current block */ - memcpy(&ctx->buf[r], src, 64 - r); - SHA256_Transform(ctx->state, ctx->buf); - src += 64 - r; - len -= 64 - r; - - /* Perform complete blocks */ - while (len >= 64) { - SHA256_Transform(ctx->state, src); - src += 64; - len -= 64; - } - - /* Copy left over data into buffer */ - memcpy(ctx->buf, src, len); -} - -/* - * SHA-256 finalization. Pads the input data, exports the hash value, - * and clears the context state. - */ -void -SHA256_Final(unsigned char digest[32], SHA256_CTX * ctx) -{ - - /* Add padding */ - SHA256_Pad(ctx); - - /* Write the hash */ - be32enc_vect(digest, ctx->state, 32); - - /* Clear the context state */ - memset((void *)ctx, 0, sizeof(*ctx)); -} diff --git a/reporter/sha256.h b/reporter/sha256.h deleted file mode 100644 index 6dd99d0da..000000000 --- a/reporter/sha256.h +++ /dev/null @@ -1,52 +0,0 @@ -/*- - * Copyright 2005 Colin Percival - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD: src/lib/libmd/sha256.h,v 1.1 2005/03/09 19:23:04 cperciva Exp $ - * $Id$ - */ - -/** @file sha256.h - * @see sha256.c - * @ingroup base - */ - -#ifndef _SHA256_H_ -#define _SHA256_H_ - -#ifndef R_PRECOMP -#include -#endif - -typedef struct SHA256Context { - uint32_t state[8]; - uint32_t count[2]; - unsigned char buf[64]; -} SHA256_CTX; - -void SHA256_Init(SHA256_CTX *); -void SHA256_Update(SHA256_CTX *, const unsigned char *, size_t); -void SHA256_Final(unsigned char [32], SHA256_CTX *); - -#endif /* !_SHA256_H_ */ diff --git a/reporter/upload.cpp b/reporter/upload.cpp deleted file mode 100644 index b783c8a31..000000000 --- a/reporter/upload.cpp +++ /dev/null @@ -1,149 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file upload.cpp -/// @brief Handle uploading of data. -/// @ingroup base io - -#ifndef R_PRECOMP -#include -#include - -#include -#endif - -#include "upload.h" - -/// @brief Constructor. -Upload::Upload(Progress *prog) { - /// XXX: error checking. - progress = prog; - handle = curl_easy_init(); -// curl_easy_setopt(handle, CURLOPT_VERBOSE, 1L); - curl_easy_setopt(handle, CURLOPT_USERAGENT, "Reporter v1.0"); - curl_easy_setopt(handle, CURLOPT_READFUNCTION, CBRead); - curl_easy_setopt(handle, CURLOPT_PROGRESSFUNCTION, CBProgress); - curl_easy_setopt(handle, CURLOPT_NOPROGRESS, 0L); - curl_easy_setopt(handle, CURLOPT_PROGRESSDATA, progress); -} - - -/// @brief Destructor. -Upload::~Upload() { - curl_free(handle); -} - - -/// @brief Submit a JSON report. -/// @param report filename of the report. -void Upload::Report(std::string report) { - wxFile file(report, wxFile::read); - SendFile("http://reporter.darkbeer.org/PUT/", file); -} - - -/// @brief Progress callback. -/// @param p pointer to progress info. -/// @param dlt download size. -/// @param dln downloaded. -/// @param ult upload size. -/// @param uln uploaded. -int Upload::CBProgress(void *p, double dlt, double dln, double ult, double uln) { - - if (uln > 0) { - Progress *progress = (Progress*) p; - // Update returns false if the user has hit abort. - if (!progress->Update(floor(ult / uln + 0.5) * 100)) - // Returning non-zero will cause curl to abort the transfer. - return 1; - } - return 0; -} - - -/// @brief Callback to read data from a FD. -/// @param p buffer to fill. -/// @param size byte length. -/// @param nmemb object size. -/// @param filep FP to read from. -size_t Upload::CBRead(char *p, size_t size, size_t nmemb, void *filep) { - // This is on purpose to wx doesn't close the fp, curl does that for us. - wxFile *file = new wxFile((uintptr_t)filep); - - if (file->Eof()) - return 0; - - int ret = file->Read(p, file->Length()); - if (ret == wxInvalidOffset) - return CURL_READFUNC_ABORT; - - return ret; -} - - -/// @brief Send a file to the server -/// @param file file to send. -/// @return 1/0 for success/failure. -bool Upload::SendFile(const char *url, wxFile &file) { - progress->Update(0, _("Connecting...")); - curl_easy_setopt(handle, CURLOPT_URL, url); - Error(curl_easy_perform(handle)); - - curl_easy_setopt(handle, CURLOPT_UPLOAD, 1L); - curl_easy_setopt(handle, CURLOPT_PUT, 1L); - curl_easy_setopt(handle, CURLOPT_READDATA, file.fd()); - curl_easy_setopt(handle, CURLOPT_INFILESIZE_LARGE, (curl_off_t)file.Length()); - CURLcode res = curl_easy_perform(handle); - Error(res); - - curl_easy_setopt(handle, CURLOPT_HTTPGET, 1L); // Reset to HTTP GET - curl_easy_cleanup(handle); - if (res == CURLE_OK) - return 1; - - return 0; -} - - -/// @brief Handle error codes -/// @param error CURLcode. -void Upload::Error(CURLcode error) { - switch (error) { - case CURLE_OK: - progress->Update(0, _("Sending data...")); - break; - case CURLE_COULDNT_RESOLVE_HOST: - progress->Update(0, _("Couldn't resolve host.")); - break; - case CURLE_COULDNT_CONNECT: - progress->Update(0, _("Couldn't connect to server.")); - break; - - case CURLE_SEND_ERROR: // socket error - case CURLE_RECV_ERROR: // socket error - progress->Update(0, _("Connection error.")); - break; - case CURLE_GOT_NOTHING: // no response from server - case CURLE_HTTP_RETURNED_ERROR: // HTTP error >= 400 - progress->Update(0, _("Server error.")); - break; - case CURLE_OPERATION_TIMEDOUT: - progress->Update(0, _("Operation timeout.")); - break; - default: - progress->Update(0, wxString::Format("Transfer error. (%d)\n", error)); - } -} diff --git a/reporter/upload.h b/reporter/upload.h deleted file mode 100644 index 4249f9982..000000000 --- a/reporter/upload.h +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file upload.h -/// @see upload.cpp -/// @ingroup base io - -#ifndef R_PRECMP -#include - -#include -#endif - -#include "progress.h" - -/// @class Upload -/// @brief Upload files to the server. -class Upload { -private: - /// Curl handle. - CURL *handle; - - /// Progress instance. - Progress *progress; - static int CBProgress(void *p, double dt, double dc, double ut, double uc); - static size_t CBRead(char *p, size_t size, size_t nmemb, void *filep); - void Error(CURLcode error); -public: - Upload(Progress *prog); - ~Upload(); - void Report(std::string report); - bool SendFile(const char *url, wxFile &file); -}; diff --git a/reporter/util.cpp b/reporter/util.cpp deleted file mode 100644 index f5c155057..000000000 --- a/reporter/util.cpp +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file util.cpp -/// @brief General utilities -/// @ingroup base - -#ifndef R_PRE -#include - -#include -#endif - - -#include "../acconf.h" - - -namespace util { - -std::string config_path() { - wxStandardPathsBase &paths = wxStandardPaths::Get(); - -#if defined(__APPLE__) - return paths.GetUserDataDir().utf8_str().data(); -#elif defined(__UNIX__) - return std::string(wxString::Format("%s/.aegisub/", paths.GetUserConfigDir())); -#else - return std::string(wxString::Format("%s/Aegisub/", paths.GetUserConfigDir())); -#endif -} - - -} // namespace util diff --git a/reporter/util.h b/reporter/util.h deleted file mode 100644 index a23484e3d..000000000 --- a/reporter/util.h +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file util.h -/// @brief General utilities -/// @ingroup base - - -/// Utilities. -namespace util { - -/// Return config path. -/// @return Config path. -std::string config_path(); - - -} // namespace util diff --git a/reporter/view.cpp b/reporter/view.cpp deleted file mode 100644 index 0cfa1593d..000000000 --- a/reporter/view.cpp +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file view.cpp -/// @brief View report in a human readable way. -/// @ingroup base - -#ifndef R_PRECOMP -#include -#include -#include -#include -#include -#include -#endif - -#include "view.h" - -/// @brief View report dialog. -/// @param frame Parent frame. -/// @param r Report instance. -View::View(wxWindow *frame, Report *r) -: wxDialog (frame, wxID_ANY, _("View Report"), wxDefaultPosition, wxDefaultSize, wxCAPTION | wxCLOSE_BOX | wxRESIZE_BORDER, _("View Report")) -{ - wxSizer *topSizer = new wxBoxSizer(wxVERTICAL); - - wxSizer *listSizer = new wxBoxSizer(wxHORIZONTAL); - wxListView *listView = new wxListView(this,wxID_ANY,wxDefaultPosition,wxDefaultSize); - - // Fill the list with the actual report. - text = new std::string(); -// r->Fill(text, listView); - - listSizer->Add(listView, 1, wxEXPAND); - topSizer->Add(listSizer, 1, wxEXPAND | wxALL, 0); - - wxStdDialogButtonSizer *stdButton = new wxStdDialogButtonSizer(); - stdButton->AddButton(new wxButton(this, wxID_CLOSE, _("Close"))); - stdButton->AddButton(new wxButton(this, wxID_SAVE, _("Copy to clipboard"))); - stdButton->Realize(); - topSizer->Add(stdButton, 0, wxALL | wxCENTRE | wxSHRINK, 5); - - this->SetSizerAndFit(topSizer); - this->SetSize(wxSize(500,550)); -} - -/// @brief Close dialog -void View::CloseDialog(wxCommandEvent& WXUNUSED(event)) { - Close(true); -} - -/// @brief Copy report to clipboard -void View::Clipboard(wxCommandEvent& WXUNUSED(event)) { - if (wxTheClipboard->Open()) { -#ifdef __UNIX__ - wxTheClipboard->UsePrimarySelection(true); -#endif - wxTheClipboard->SetData( new wxTextDataObject(*text)); - wxTheClipboard->Flush(); - wxTheClipboard->Close(); - } -} - -BEGIN_EVENT_TABLE(View, wxDialog) - EVT_BUTTON(wxID_CLOSE, View::CloseDialog) - EVT_BUTTON(wxID_SAVE, View::Clipboard) -END_EVENT_TABLE() diff --git a/reporter/view.h b/reporter/view.h deleted file mode 100644 index bf3de892c..000000000 --- a/reporter/view.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2009, Amar Takhar -// -// Permission to use, copy, modify, and distribute this software for any -// purpose with or without fee is hereby granted, provided that the above -// copyright notice and this permission notice appear in all copies. -// -// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -// -// $Id$ - -/// @file view.h -/// @see view.cpp -/// @ingroup base - -#ifndef R_PRECOMP -#include -#include -#include -#include -#endif - -#include "report.h" - -/// @class View -/// @brief View the stored report. -class View: public wxDialog { -public: - View(wxWindow *frame, Report *r); - ~View() {}; - -private: - Report *r; - std::string *text; - void CloseDialog(wxCommandEvent& event); - void Clipboard(wxCommandEvent& event); - DECLARE_EVENT_TABLE() -};