From 10dde2828d428ab037866e8e9ce7af3736197452 Mon Sep 17 00:00:00 2001 From: JasonYANG17 <39414350+JasonYANG170@users.noreply.github.com> Date: Thu, 2 Mar 2023 10:02:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A1=B9=E7=9B=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- YANG Remind.sln | 31 + YANG Remind/YANG Remind.cpp | 107 ++ YANG Remind/YANG Remind.h | 32 + YANG Remind/YANG Remind.vcxproj | 231 +++ YANG Remind/YANG Remind.vcxproj.filters | 63 + YANG Remind/YANG RemindDlg.cpp | 1570 ++++++++++++++++++ YANG Remind/YANG RemindDlg.h | 83 + YANG Remind/YANGRemind.rc | Bin 0 -> 22244 bytes YANG Remind/framework.h | 49 + YANG Remind/pch.cpp | 5 + YANG Remind/pch.h | 13 + YANG Remind/res/YANG Remind.ico | Bin 0 -> 67777 bytes YANG Remind/res/YANGRemind.rc2 | Bin 0 -> 676 bytes YANG Remind/resource.h | 97 ++ YANG Remind/targetver.h | 8 + json/allocator.h | 88 ++ json/assertions.h | 61 + json/config.h | 150 ++ json/forwards.h | 43 + json/include/json/allocator.h | 88 ++ json/include/json/assertions.h | 61 + json/include/json/config.h | 150 ++ json/include/json/forwards.h | 43 + json/include/json/json.h | 15 + json/include/json/json_features.h | 61 + json/include/json/jsoncpp.dll | Bin 0 -> 200704 bytes json/include/json/jsoncppw.dll | Bin 0 -> 615424 bytes json/include/json/reader.h | 405 +++++ json/include/json/value.h | 935 +++++++++++ json/include/json/version.h | 28 + json/include/json/writer.h | 369 +++++ json/include/json/zconf.h | 549 +++++++ json/include/json/zlib.h | 1935 +++++++++++++++++++++++ json/json.h | 15 + json/json_features.h | 61 + json/jsoncpp.dll | Bin 0 -> 200704 bytes json/jsoncpp.exp | Bin 0 -> 83029 bytes json/jsoncpp.lib | Bin 0 -> 136340 bytes json/jsoncppw.dll | Bin 0 -> 615424 bytes json/lib/jsoncpp.dll | Bin 0 -> 200704 bytes json/lib/jsoncpp.exp | Bin 0 -> 83029 bytes json/lib/jsoncpp.lib | Bin 0 -> 136340 bytes json/lib/zlib.exp | Bin 0 -> 9760 bytes json/lib/zlib.lib | Bin 0 -> 16638 bytes json/reader.h | 405 +++++ json/zlib.exp | Bin 0 -> 9760 bytes json/zlib.lib | Bin 0 -> 16638 bytes 47 files changed, 7751 insertions(+) create mode 100644 YANG Remind.sln create mode 100644 YANG Remind/YANG Remind.cpp create mode 100644 YANG Remind/YANG Remind.h create mode 100644 YANG Remind/YANG Remind.vcxproj create mode 100644 YANG Remind/YANG Remind.vcxproj.filters create mode 100644 YANG Remind/YANG RemindDlg.cpp create mode 100644 YANG Remind/YANG RemindDlg.h create mode 100644 YANG Remind/YANGRemind.rc create mode 100644 YANG Remind/framework.h create mode 100644 YANG Remind/pch.cpp create mode 100644 YANG Remind/pch.h create mode 100644 YANG Remind/res/YANG Remind.ico create mode 100644 YANG Remind/res/YANGRemind.rc2 create mode 100644 YANG Remind/resource.h create mode 100644 YANG Remind/targetver.h create mode 100644 json/allocator.h create mode 100644 json/assertions.h create mode 100644 json/config.h create mode 100644 json/forwards.h create mode 100644 json/include/json/allocator.h create mode 100644 json/include/json/assertions.h create mode 100644 json/include/json/config.h create mode 100644 json/include/json/forwards.h create mode 100644 json/include/json/json.h create mode 100644 json/include/json/json_features.h create mode 100644 json/include/json/jsoncpp.dll create mode 100644 json/include/json/jsoncppw.dll create mode 100644 json/include/json/reader.h create mode 100644 json/include/json/value.h create mode 100644 json/include/json/version.h create mode 100644 json/include/json/writer.h create mode 100644 json/include/json/zconf.h create mode 100644 json/include/json/zlib.h create mode 100644 json/json.h create mode 100644 json/json_features.h create mode 100644 json/jsoncpp.dll create mode 100644 json/jsoncpp.exp create mode 100644 json/jsoncpp.lib create mode 100644 json/jsoncppw.dll create mode 100644 json/lib/jsoncpp.dll create mode 100644 json/lib/jsoncpp.exp create mode 100644 json/lib/jsoncpp.lib create mode 100644 json/lib/zlib.exp create mode 100644 json/lib/zlib.lib create mode 100644 json/reader.h create mode 100644 json/zlib.exp create mode 100644 json/zlib.lib diff --git a/YANG Remind.sln b/YANG Remind.sln new file mode 100644 index 0000000..de1679d --- /dev/null +++ b/YANG Remind.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33213.308 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "YANG Remind", "YANG Remind\YANG Remind.vcxproj", "{3831DDB5-E774-41D8-9975-B48EEFF85AD0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Debug|x64.ActiveCfg = Debug|x64 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Debug|x64.Build.0 = Debug|x64 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Debug|x86.ActiveCfg = Debug|Win32 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Debug|x86.Build.0 = Debug|Win32 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Release|x64.ActiveCfg = Release|x64 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Release|x64.Build.0 = Release|x64 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Release|x86.ActiveCfg = Release|Win32 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D8A9F736-2F29-4211-86AA-D35B203AF0E5} + EndGlobalSection +EndGlobal diff --git a/YANG Remind/YANG Remind.cpp b/YANG Remind/YANG Remind.cpp new file mode 100644 index 0000000..6d4eee4 --- /dev/null +++ b/YANG Remind/YANG Remind.cpp @@ -0,0 +1,107 @@ + +// YANG Remind.cpp: 定义应用程序的类行为。 +// + +#include "pch.h" +#include "framework.h" +#include "YANG Remind.h" +#include "YANG RemindDlg.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#endif + + +// CYANGRemindApp + +BEGIN_MESSAGE_MAP(CYANGRemindApp, CWinApp) + ON_COMMAND(ID_HELP, &CWinApp::OnHelp) +END_MESSAGE_MAP() + + +// CYANGRemindApp 构造 + +CYANGRemindApp::CYANGRemindApp() +{ + // 支持重新启动管理器 + m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; + + // TODO: 在此处添加构造代码, + // 将所有重要的初始化放置在 InitInstance 中 +} + + +// 唯一的 CYANGRemindApp 对象 + +CYANGRemindApp theApp; + + +// CYANGRemindApp 初始化 + +BOOL CYANGRemindApp::InitInstance() +{ + // 如果一个运行在 Windows XP 上的应用程序清单指定要 + // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式, + //则需要 InitCommonControlsEx()。 否则,将无法创建窗口。 + INITCOMMONCONTROLSEX InitCtrls; + InitCtrls.dwSize = sizeof(InitCtrls); + // 将它设置为包括所有要在应用程序中使用的 + // 公共控件类。 + InitCtrls.dwICC = ICC_WIN95_CLASSES; + InitCommonControlsEx(&InitCtrls); + + CWinApp::InitInstance(); + + + AfxEnableControlContainer(); + + // 创建 shell 管理器,以防对话框包含 + // 任何 shell 树视图控件或 shell 列表视图控件。 + CShellManager *pShellManager = new CShellManager; + + // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题 + CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows)); + + // 标准初始化 + // 如果未使用这些功能并希望减小 + // 最终可执行文件的大小,则应移除下列 + // 不需要的特定初始化例程 + // 更改用于存储设置的注册表项 + // TODO: 应适当修改该字符串, + // 例如修改为公司或组织名 + SetRegistryKey(_T("应用程序向导生成的本地应用程序")); + + CYANGRemindDlg dlg; + m_pMainWnd = &dlg; + INT_PTR nResponse = dlg.DoModal(); + if (nResponse == IDOK) + { + // TODO: 在此放置处理何时用 + // “确定”来关闭对话框的代码 + } + else if (nResponse == IDCANCEL) + { + // TODO: 在此放置处理何时用 + // “取消”来关闭对话框的代码 + } + else if (nResponse == -1) + { + TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n"); + TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n"); + } + + // 删除上面创建的 shell 管理器。 + if (pShellManager != nullptr) + { + delete pShellManager; + } + +#if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS) + ControlBarCleanUp(); +#endif + + // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序, + // 而不是启动应用程序的消息泵。 + return FALSE; +} + diff --git a/YANG Remind/YANG Remind.h b/YANG Remind/YANG Remind.h new file mode 100644 index 0000000..d6c38fa --- /dev/null +++ b/YANG Remind/YANG Remind.h @@ -0,0 +1,32 @@ + +// YANG Remind.h: PROJECT_NAME 应用程序的主头文件 +// + +#pragma once + +#ifndef __AFXWIN_H__ + #error "在包含此文件之前包含 'pch.h' 以生成 PCH" +#endif + +#include "resource.h" // 主符号 + + +// CYANGRemindApp: +// 有关此类的实现,请参阅 YANG Remind.cpp +// + +class CYANGRemindApp : public CWinApp +{ +public: + CYANGRemindApp(); + +// 重写 +public: + virtual BOOL InitInstance(); + +// 实现 + + DECLARE_MESSAGE_MAP() +}; + +extern CYANGRemindApp theApp; diff --git a/YANG Remind/YANG Remind.vcxproj b/YANG Remind/YANG Remind.vcxproj new file mode 100644 index 0000000..7f62fcb --- /dev/null +++ b/YANG Remind/YANG Remind.vcxproj @@ -0,0 +1,231 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 17.0 + {3831DDB5-E774-41D8-9975-B48EEFF85AD0} + MFCProj + YANGRemind + 10.0 + YANG Auto Notice + + + + Application + true + v143 + Unicode + Dynamic + + + Application + false + v143 + true + Unicode + Dynamic + + + Application + true + v143 + Unicode + Dynamic + + + Application + false + v143 + true + Unicode + Dynamic + + + + + + + + + + + + + + + + + + + + + true + C:\Users\qw200\Documents\json\include;$(IncludePath) + C:\Users\qw200\Documents\json\lib;$(LibraryPath) + + + true + + + false + + + false + C:\Users\qw200\Documents\json\include;$(IncludePath) + C:\Users\qw200\Documents\json\lib;$(LibraryPath) + + + + Use + Level3 + true + _WINDOWS;_DEBUG;%(PreprocessorDefinitions) + pch.h + + + Windows + jsoncpp.lib + + + false + true + _DEBUG;%(PreprocessorDefinitions) + + + 0x0804 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + Use + Level3 + true + WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) + pch.h + + + Windows + + + false + true + _DEBUG;%(PreprocessorDefinitions) + + + 0x0804 + _DEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + Use + Level3 + true + true + true + WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) + pch.h + + + Windows + true + true + + + false + true + NDEBUG;%(PreprocessorDefinitions) + + + 0x0804 + NDEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + Use + Level3 + true + true + true + _WINDOWS;NDEBUG;%(PreprocessorDefinitions) + pch.h + Default + MultiThreadedDLL + + + Windows + true + true + jsoncpp.lib + 10240000 + + + + + 10240000 + Mmsystem.lib + + + false + true + NDEBUG;%(PreprocessorDefinitions) + + + 0x0804 + NDEBUG;%(PreprocessorDefinitions) + $(IntDir);%(AdditionalIncludeDirectories) + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/YANG Remind/YANG Remind.vcxproj.filters b/YANG Remind/YANG Remind.vcxproj.filters new file mode 100644 index 0000000..2cc6031 --- /dev/null +++ b/YANG Remind/YANG Remind.vcxproj.filters @@ -0,0 +1,63 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + 头文件 + + + + + 源文件 + + + 源文件 + + + 源文件 + + + + + 资源文件 + + + + + 资源文件 + + + + + 资源文件 + + + \ No newline at end of file diff --git a/YANG Remind/YANG RemindDlg.cpp b/YANG Remind/YANG RemindDlg.cpp new file mode 100644 index 0000000..2c51b8c --- /dev/null +++ b/YANG Remind/YANG RemindDlg.cpp @@ -0,0 +1,1570 @@ + +// YANG RemindDlg.cpp: 实现文件 +// + +#include "pch.h" +#include "framework.h" +#include "YANG Remind.h" +#include "YANG RemindDlg.h" +#include "afxdialogex.h" +#include "tlhelp32.h" +#include +#include +#include "afxdialogex.h" +#include "mmsystem.h" +#include +#pragma comment(lib, "winmm.lib") +HWND g_hWndNotify; +CString g_strUrl; +using namespace Json; +#ifdef _DEBUG +#define new DEBUG_NEW +#endif +#define WM_SHOWTASK (WM_USER+200) //注意n换成数字,n的大小应大于100 +#define TM_MSG 10000 +#define TM_MSG1 50000 +#include +int xz = 0; +#ifdef _DEBUG +#define new DEBUG_NEW +#endif +NOTIFYICONDATA nid; +BOOL isNotify; +CString num = _T(""); +CString num2 = _T(""); +CString num31 = _T(""); +CString num313 = _T(""); +CString net = _T(""); +int num9; +int num29; +int open; +CString tonken1 = _T(""); +CString tonken2 = _T(""); +CString program; +CString edition=_T("V5.2.2"); +CString xingzuo1 = _T(""); +// 用于应用程序“关于”菜单项的 CAboutDlg 对话框 + +//执行延时操作的地方 +#ifdef _DEBUG +#define new DEBUG_NEW +#endif +#pragma comment( linker, "/subsystem:/"windows/" /entry:/"mainCRTStartup/"" ) // 设置入口地址 +#include +#include + +//#define COMMENDLINE "REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f® ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 0 /f" + +//调用命令行命令而不显示命令行窗口 +#include +CString CYANGRemindDlg::UTF8ToUnicode(char* UTF8) +{ + + DWORD dwUnicodeLen; //转换后Unicode的长度 + TCHAR* pwText; //保存Unicode的指针 + CString strUnicode; //返回值 + //获得转换后的长度,并分配内存 + dwUnicodeLen = MultiByteToWideChar(CP_UTF8, 0, UTF8, -1, NULL, 0); + pwText = new TCHAR[dwUnicodeLen]; + if (!pwText) + { + return strUnicode; + } + //转为Unicode + MultiByteToWideChar(CP_UTF8, 0, UTF8, -1, pwText, dwUnicodeLen); + //转为CString + strUnicode.Format(_T("%s"), pwText); + //清除内存 + delete[]pwText; + //返回转换好的Unicode字串 + return strUnicode; +} +BOOL system_hide(char* CommandLine) +{ + SECURITY_ATTRIBUTES sa; + HANDLE hRead, hWrite; + + sa.nLength = sizeof(SECURITY_ATTRIBUTES); + sa.lpSecurityDescriptor = NULL; + sa.bInheritHandle = TRUE; + if (!CreatePipe(&hRead, &hWrite, &sa, 0)) + { + return FALSE; + } + + STARTUPINFO si; + PROCESS_INFORMATION pi; + si.cb = sizeof(STARTUPINFO); + GetStartupInfo(&si); + si.hStdError = hWrite; + si.hStdOutput = hWrite; + si.wShowWindow = SW_HIDE; + si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES; + int len = MultiByteToWideChar(CP_ACP, 0, CommandLine, -1, NULL, 0); + wchar_t* wstr = new wchar_t[len]; + MultiByteToWideChar(CP_ACP, 0, CommandLine, -1, wstr, len); + + //关键步骤,CreateProcess函数参数意义请查阅MSDN + if (!CreateProcess(NULL, wstr, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi)) + { + return FALSE; + } + CloseHandle(hWrite); + + char buffer[4096] = { 0 }; + DWORD bytesRead; + while (true) + { + memset(buffer, 0, strlen(buffer)); + if (ReadFile(hRead, buffer, 4095, &bytesRead, NULL) == NULL) + break; + //buffer中就是执行的结果,可以保存到文本,也可以直接输出 + //printf(buffer);//这行注释掉就可以了 + Sleep(100); + } + return TRUE; +} +UINT ThreadFunc(LPVOID lParam) +{ + + tonken1 = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPath"), _T("C:\\"));//_T("C:\\")为默认值 + tonken2 = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPath2"), _T("C:\\"));//_T("C:\\")为默认值 + num9 = _ttoi(tonken1); + num29 = _ttoi(tonken2); + while (true) { + for (open; open == 1; open + 0) + { + CTime tm; tm = CTime::GetCurrentTime(); + int hour = tm.GetHour(); + CString tempPort; + tempPort.Format(_T("%d"), hour); + + if (hour == num) { + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f"); + + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 0 /f"); + + } + else if (hour == num2) + { + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v AppsUseLightTheme /t REG_DWORD /d 1 /f"); + + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 1 /f"); + + } + + } + Sleep(1000); + } +} + +void CYANGRemindDlg::OnTimer(UINT_PTR nIDEvent) +{ + // TODO: 在此添加消息处理程序代码和/或调用默认值 + if (nIDEvent==TM_MSG) + { + //具体实现 + SendMessage(WM_CLOSE); + CDialogEx::OnTimer(TM_MSG); + }else + if (nIDEvent==1) + { + if (xz == 1) { + OnBnClickedButton3(); + } + else if (xz == 2) { + OnBnClickedButton2(); + } + else if(xz==3) + { + OnBnClickedButton1(); + } + else if (xz == 4) { + OnBnClickedButton12(); + } + else if (xz == 5) { + OnBnClickedButton18(); + } + else if (xz == 6) { + OnBnClickedButton26(); + } + else if (xz == 7) { + xinzuo27(); + } + + CDialogEx::OnTimer(1); + } + +} + +// 用于应用程序“关于”菜单项的 CAboutDlg 对话框 + +class CAboutDlg : public CDialogEx +{ +public: + CAboutDlg(); + +// 对话框数据 +#ifdef AFX_DESIGN_TIME + enum { IDD = IDD_ABOUTBOX }; +#endif + + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 + +// 实现 +protected: + DECLARE_MESSAGE_MAP() +public: + afx_msg void OnBnClickedButton1(); + afx_msg void On15(); +}; + +CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX) +{ +} + +void CAboutDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); +} + +BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) + ON_BN_CLICKED(IDC_BUTTON1, &CAboutDlg::OnBnClickedButton1) + ON_COMMAND(15, &CAboutDlg::On15) +END_MESSAGE_MAP() + + +// CYANGRemindDlg 对话框 + + + +CYANGRemindDlg::CYANGRemindDlg(CWnd* pParent /*=nullptr*/) + : CDialogEx(IDD_YANG_REMIND_DIALOG, pParent) +{ + m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); +} + +void CYANGRemindDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + DDX_Control(pDX, ID_POWERBOOT, PowerBootButton); + DDX_Control(pDX, IDC_MFCMENUBUTTON1, m_menu); +} + +BEGIN_MESSAGE_MAP(CYANGRemindDlg, CDialogEx) + ON_WM_SYSCOMMAND() + ON_WM_PAINT() + ON_WM_QUERYDRAGICON() + ON_BN_CLICKED(IDC_BUTTON5, &CYANGRemindDlg::OnBnClickedButton5) + ON_BN_CLICKED(IDC_BUTTON6, &CYANGRemindDlg::OnBnClickedButton6) + ON_BN_CLICKED(IDC_BUTTON1, &CYANGRemindDlg::OnBnClickedButton1) + ON_BN_CLICKED(IDC_BUTTON2, &CYANGRemindDlg::OnBnClickedButton2) + ON_BN_CLICKED(IDC_BUTTON8, &CYANGRemindDlg::OnBnClickedButton8) + ON_BN_CLICKED(IDC_BUTTON7, &CYANGRemindDlg::OnBnClickedButton7) + ON_BN_CLICKED(IDC_BUTTON4, &CYANGRemindDlg::OnBnClickedButton4) + ON_BN_CLICKED(ID_POWERBOOT, &CYANGRemindDlg::OnBnClickedPowerboot) + ON_WM_TIMER() + ON_BN_CLICKED(IDC_BUTTON9, &CYANGRemindDlg::OnBnClickedButton9) + ON_BN_CLICKED(IDC_BUTTON3, &CYANGRemindDlg::OnBnClickedButton3) + ON_BN_CLICKED(IDC_BUTTON10, &CYANGRemindDlg::OnBnClickedButton10) + ON_BN_CLICKED(IDC_CHECK1, &CYANGRemindDlg::OnBnClickedCheck1) + ON_BN_CLICKED(IDC_CHECK3, &CYANGRemindDlg::OnBnClickedCheck3) + ON_BN_CLICKED(IDC_BUTTON11, &CYANGRemindDlg::OnBnClickedButton11) + ON_BN_CLICKED(IDC_BUTTON12, &CYANGRemindDlg::OnBnClickedButton12) + ON_BN_CLICKED(IDC_BUTTON13, &CYANGRemindDlg::OnBnClickedButton13) + ON_BN_CLICKED(IDC_BUTTON14, &CYANGRemindDlg::OnBnClickedButton14) + ON_BN_CLICKED(IDC_BUTTON15, &CYANGRemindDlg::OnBnClickedButton15) + ON_BN_CLICKED(IDC_BUTTON16, &CYANGRemindDlg::OnBnClickedButton16) + ON_BN_CLICKED(IDC_BUTTON17, &CYANGRemindDlg::OnBnClickedButton17) + ON_BN_CLICKED(IDC_BUTTON20, &CYANGRemindDlg::OnBnClickedButton20) + ON_BN_CLICKED(IDC_BUTTON22, &CYANGRemindDlg::OnBnClickedButton22) + ON_BN_CLICKED(IDC_BUTTON21, &CYANGRemindDlg::OnBnClickedButton21) + ON_BN_CLICKED(IDC_BUTTON23, &CYANGRemindDlg::OnBnClickedButton23) + ON_BN_CLICKED(IDC_BUTTON24, &CYANGRemindDlg::OnBnClickedButton24) + ON_BN_CLICKED(IDC_BUTTON25, &CYANGRemindDlg::OnBnClickedButton25) + ON_BN_CLICKED(IDC_BUTTON18, &CYANGRemindDlg::OnBnClickedButton18) + ON_BN_CLICKED(IDC_BUTTON19, &CYANGRemindDlg::OnBnClickedButton19) + ON_BN_CLICKED(IDC_BUTTON26, &CYANGRemindDlg::OnBnClickedButton26) + ON_BN_CLICKED(IDC_MFCMENUBUTTON1, &CYANGRemindDlg::OnBnClickedMfcmenubutton1) +END_MESSAGE_MAP() + + +// CYANGRemindDlg 消息处理程序 + +BOOL CYANGRemindDlg::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + + // 将“关于...”菜单项添加到系统菜单中。 + + // IDM_ABOUTBOX 必须在系统命令范围内。 + ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); + ASSERT(IDM_ABOUTBOX < 0xF000); + + CMenu* pSysMenu = GetSystemMenu(FALSE); + if (pSysMenu != nullptr) + { + BOOL bNameValid; + CString strAboutMenu; + bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); + ASSERT(bNameValid); + if (!strAboutMenu.IsEmpty()) + { + pSysMenu->AppendMenu(MF_SEPARATOR); + pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); + } + } + + // 设置此对话框的图标。 当应用程序主窗口不是对话框时,框架将自动 + // 执行此操作 + SetIcon(m_hIcon, TRUE); // 设置大图标 + SetIcon(m_hIcon, FALSE); // 设置小图标 + + // TODO: 在此添加额外的初始化代码 + split.SetDropDownMenu(IDR_MENU1, 0); + CMenu* pMenu = new CMenu; + + pMenu->LoadMenu(IDR_MENU1); // 载入菜单资源 + + m_menu.m_hMenu = pMenu->GetSubMenu(0)->GetSafeHmenu(); // 将CMFCMenuButton和Menu IDR_MENU1关联 + return TRUE; // 除非将焦点设置到控件,否则返回 TRUE +} + +void CYANGRemindDlg::OnSysCommand(UINT nID, LPARAM lParam) +{ + if ((nID & 0xFFF0) == IDM_ABOUTBOX) + { + CAboutDlg dlgAbout; + dlgAbout.DoModal(); + } + else + { + CDialogEx::OnSysCommand(nID, lParam); + } +} + +// 如果向对话框添加最小化按钮,则需要下面的代码 +// 来绘制该图标。 对于使用文档/视图模型的 MFC 应用程序, +// 这将由框架自动完成。 + +void CYANGRemindDlg::OnPaint() +{ + if (IsIconic()) + { + CPaintDC dc(this); // 用于绘制的设备上下文 + + SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0); + + // 使图标在工作区矩形中居中 + int cxIcon = GetSystemMetrics(SM_CXICON); + int cyIcon = GetSystemMetrics(SM_CYICON); + CRect rect; + GetClientRect(&rect); + int x = (rect.Width() - cxIcon + 1) / 2; + int y = (rect.Height() - cyIcon + 1) / 2; + + // 绘制图标 + dc.DrawIcon(x, y, m_hIcon); + } + else + { + CDialogEx::OnPaint(); + } + num = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPath"), _T("C:\\"));//_T("C:\\")为默认值 + num2 = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPath2"), _T("C:\\"));//_T("C:\\")为默认值 + num31 = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPath3"), _T("C:\\"));//_T("C:\\")为默认值 + num313 = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPath313"), _T("C:\\"));//_T("C:\\")为默认值 + xingzuo1 = AfxGetApp()->GetProfileString(_T("Settings"), _T("LocalRecPathxz"), _T("C:\\"));//_T("C:\\")为默认值 + if (!isNotify) + { + nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); + nid.hWnd = this->m_hWnd; + nid.uID = IDR_MAINFRAME; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP | NIF_INFO; + nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称,注意:这里的消息是用户自定义消息 + nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); + wcscpy_s(nid.szTip, _T("YANG Remind程序"));//信息提示条为"计划任务提醒" + wcscpy_s(nid.szInfo, num); + wcscpy_s(nid.szInfoTitle, num2); + nid.dwInfoFlags = NIIF_INFO; + //nid.uTimeout = 5; + Shell_NotifyIcon(NIM_ADD, &nid);//在托盘区添加图标 + //AnimateWindow(5000, AW_HIDE | AW_BLEND); //可以缓慢消失窗口 + + Shell_NotifyIcon(NIM_DELETE, &nid); + //KillTimer(0); + //ToTray(); + //ShowWindow(SW_HIDE);//隐藏主窗口 + int num3; + + num3 = _ttoi(num31); + int num31; + + num31 = _ttoi(num313); + if (num3 == 1) { + if (num31 == 0) + { + SetTimer(TM_MSG, 5000, NULL); + KillTimer(TM_MSG); + } + else { + SetTimer(TM_MSG, 5000, NULL); + } + } + else if (num3 == 2) + { + if (num31 == 0) { + netlist(); + SetTimer(TM_MSG, 5000, NULL); + KillTimer(TM_MSG); + } + else + { + netlist(); + SetTimer(TM_MSG, 5000, NULL); + + } + } + + } + AfxBeginThread(ThreadFunc, (LPVOID)this);//启动新的线程 + CInternetSession session(_T("HttpClient")); + TCHAR* url = _T("https://api.vvhan.com/api/qqsc?key=969c8d1f86b653696f929406faa0bbc0"); + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content4; + CString data; + while (pfile->ReadString(data)) + { + content4 += data; + } + char* pch; + pch = new char[content4.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content4, content4.GetLength() * sizeof(TCHAR)); + content4 = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + + CString str3 = content4; + str3.ReleaseBuffer(); + Json::Reader reader23; + Json::Value root23; + CString temp23; + CString temp223; + CString temp323; + USES_CONVERSION; + //using namespace std; + //string str33(CW2A(str3.GetString())); + + const char* cJson1 = T2A(str3.GetBuffer(0)); + str3.ReleaseBuffer(); + if (reader23.parse(cJson1, root23)) { + temp23 = root23["text"].asCString(); + + } + if (edition == temp23) { + + } + else + { + CString a = _T("已发布新版本\""); + CString a1 = _T("\"请尽快更新!"); + MessageBox(a+temp23+a1); + } + } + pfile->Close(); + delete pfile; + session.Close(); + +} + +//当用户拖动最小化窗口时系统调用此函数取得光标 +//显示。 +HCURSOR CYANGRemindDlg::OnQueryDragIcon() +{ + return static_cast(m_hIcon); +} +void CYANGRemindDlg::TZ() { + if (!isNotify) + { + nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); + nid.hWnd = this->m_hWnd; + nid.uID = IDR_MAINFRAME; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP | NIF_INFO; + nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称,注意:这里的消息是用户自定义消息 + nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); + wcscpy_s(nid.szTip, _T("YANG Remind程序"));//信息提示条为"计划任务提醒" + wcscpy_s(nid.szInfo, num); + wcscpy_s(nid.szInfoTitle, num2); + nid.dwInfoFlags = NIIF_INFO; + //nid.uTimeout = 5; + Shell_NotifyIcon(NIM_ADD, &nid);//在托盘区添加图标 + //AnimateWindow(5000, AW_HIDE | AW_BLEND); //可以缓慢消失窗口 + //ShowWindow(SW_HIDE);//隐藏主窗口 + Shell_NotifyIcon(NIM_DELETE, &nid); + //KillTimer(0); + } +} + + +void CYANGRemindDlg::OnBnClickedButton1() +{ + TZ(); + xz = 3; + +// TODO: 在此添加控件通知处理程序代码 +} + + + + +#define TOOLTIPS_NAME_ "XXXX" +//最小化到托盘函数 +void CYANGRemindDlg::ToTray() +{ + NOTIFYICONDATA nid; + nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); + nid.hWnd = this->m_hWnd; + nid.uID = IDR_MAINFRAME; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; + nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称 + nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); + wcscpy_s(nid.szTip, _T(TOOLTIPS_NAME_)); //信息提示条 + Shell_NotifyIcon(NIM_ADD, &nid); //在托盘区添加图标 + ShowWindow(SW_HIDE); //隐藏主窗口 +} +#define TOOLTIPS_NAME_ "YANG Remind" + +//删除托盘图标函数 +void CYANGRemindDlg::DeleteTray() +{ + NOTIFYICONDATA nid; + nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); + nid.hWnd = this->m_hWnd; + nid.uID = IDR_MAINFRAME; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; + nid.uCallbackMessage = WM_SHOWTASK; //自定义的消息名称 + nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); + wcscpy_s(nid.szTip, _T(TOOLTIPS_NAME_)); //信息提示条为“计划任务提醒” + Shell_NotifyIcon(NIM_DELETE, &nid); //在托盘区删除图标 +} + +afx_msg LRESULT CYANGRemindDlg::OnShowtask(WPARAM wParam, LPARAM lParam) +{ + if (wParam != IDR_MAINFRAME) + return 1; + switch (lParam) + { + case WM_RBUTTONUP://右键起来时弹出快捷菜单,这里只有一个“关闭” + { + LPPOINT lpoint = new tagPOINT; + ::GetCursorPos(lpoint);//得到鼠标位置 + CMenu menu; + menu.CreatePopupMenu();//声明一个弹出式菜单 + + + menu.AppendMenu(MF_STRING, WM_DESTROY, _T("关闭")); //增加菜单项“关闭”,点击则发送消息WM_DESTROY给主窗口(已隐藏),将程序结束。 + menu.TrackPopupMenu(TPM_LEFTALIGN, lpoint->x, lpoint->y, this); //确定弹出式菜单的位置 + HMENU hmenu = menu.Detach(); + menu.DestroyMenu(); //资源回收 + delete lpoint; + } break; + case WM_LBUTTONDBLCLK: //双击左键的处理 + { + this->ShowWindow(SW_SHOW);//简单的显示主窗口完事儿 + DeleteTray(); + } break; + default: break; + } + return 0; +} + + + + +void CYANGRemindDlg::OnBnClickedPowerboot() +{ + // TODO: 在此添加控件通知处理程序代码 + HKEY hKey; + //找到系统的启动项 + CString lpRun = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); + //打开启动项 + long lRet = RegOpenKeyEx(HKEY_CURRENT_USER, lpRun, 0, KEY_ALL_ACCESS, &hKey); + if (lRet != ERROR_SUCCESS) + MessageBox(_T("打开启动项失败")); + //找到程序自身路径 + TCHAR pFileName[MAX_PATH] = {}; + GetModuleFileName(NULL, pFileName, MAX_PATH); + //判断是否已经设置开机启动 + TCHAR PowerBoot[MAX_PATH] = {}; + DWORD nLongth = MAX_PATH; + long result = RegGetValue(hKey, NULL, _T("PowerBoot"), RRF_RT_REG_SZ, 0, PowerBoot, &nLongth); + if (result == ERROR_SUCCESS) + { + //自启状态; + //取消自动启动 + lRet = RegDeleteValue(hKey, _T("PowerBoot")); + if (lRet == ERROR_SUCCESS) + { + MessageBox(_T("关闭自启成功")); + PowerBootButton.SetWindowText(_T("未自启状态")); + } + } + else + { + //未自启状态 + //设置自启 + lRet = RegSetValueEx(hKey, _T("PowerBoot"), 0, REG_SZ, (LPBYTE)pFileName, (lstrlen(pFileName) + 1) * sizeof(TCHAR)); + if (lRet == ERROR_SUCCESS) + { + MessageBox(_T("设置自启成功")); + PowerBootButton.SetWindowText(_T("自启状态")); + } + } + //关闭注册表 + RegCloseKey(hKey); + +} + + +void CYANGRemindDlg::OnBnClickedButton4() +{ + // TODO: 在此添加控件通知处理程序代码 + MessageBox(_T("已开启最小化,系统托盘中左键双击图标打开程序,右键图标关闭程序")); + ToTray(); +} + + +void CYANGRemindDlg::OnBnClickedButton5() +{ + //CString tonken1 = _T(""); + GetDlgItem(IDC_EDIT2)->GetWindowText(num2); + //num == _ttoi(tonken1); + //CString tonken2 = _T(""); + GetDlgItem(IDC_EDIT1)->GetWindowText(num); + //num2 == _ttoi(tonken2); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), num);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), num2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + MessageBox(_T("保存成功,点击<预览>查看吧"), NULL, MB_OK); + // TODO: 在此添加控件通知处理程序代码 +} + + + +void CYANGRemindDlg::OnBnClickedButton6() +{ + // TODO: 在此添加控件通知处理程序代码 +// Delete_Value(_T("HKEY_CURRENT_USER\\Software\\应用程序向导生成的本地应用程序"), _T("YANG Remind")); + + + CRegKey mykey; + if (mykey.Open(HKEY_CURRENT_USER, _T("Software\\应用程序向导生成的本地应用程序")) != ERROR_SUCCESS) + { + MessageBox(_T("删除失败")); + } + else + { + if (mykey.RecurseDeleteKey(_T("YANG Remind")) != ERROR_SUCCESS) + + { + MessageBox(_T("删除失败")); + } + MessageBox(_T("删除成功")); + } + mykey.Close(); + +} +//定义Timer事件 + + + +void CYANGRemindDlg::OnBnClickedButton7() +{ + KillTimer(TM_MSG); + num313 = _T("0"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath313"), num313);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + // TODO: 在此添加控件通知处理程序代码 + MessageBox(_T("自动关闭程序设置已关闭")); +} + + +void CYANGRemindDlg::OnBnClickedButton8() +{ + // TODO: 在此添加控件通知处理程序代码 + num313 = _T("1"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath313"), num313);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + MessageBox(_T("警告(重大操作提示):自动关闭程序设置已开启,下次打开程序会在弹窗结束后自动关闭程序,如需关闭请在程序关闭前点击<取消自动关闭>")); +} + + + + + +//void CAboutDlg::OnBnClickedButton1() +//{ + // TODO: 在此添加控件通知处理程序代码 + //system("start https://github.com/JasonYANG170/YANG-Remind/releases"); +//} + + +void CYANGRemindDlg::netlist() +{ + // TODO: 在此添加控件通知处理程序代码 + // TODO: 在此添加控件通知处理程序代码 + CInternetSession session(_T("HttpClient")); + TCHAR* url = _T("https://v1.jinrishici.com/shuqing/shanggan"); + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content4; + CString data; + while (pfile->ReadString(data)) + { + content4 += data; + } + char* pch; + pch = new char[content4.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content4, content4.GetLength() * sizeof(TCHAR)); + content4 = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + + CString str3 = content4; + str3.ReleaseBuffer(); + Json::Reader reader23; + Json::Value root23; + CString temp23; + CString temp223; + CString temp323; + USES_CONVERSION; + //using namespace std; + //string str33(CW2A(str3.GetString())); + + const char* cJson1 = T2A(str3.GetBuffer(0)); + str3.ReleaseBuffer(); + if (reader23.parse(cJson1, root23)) { + temp23 = root23["content"].asCString(); + temp223 = root23["origin"].asCString(); + temp323 = root23["author"].asCString(); + } + + + temp223 = temp223 + " 作者:" + temp323; + + num2 = temp23; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), num2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + num = temp223; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), num);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + } + pfile->Close(); + delete pfile; + session.Close(); + //char* str = "content春如旧。人空瘦。泪痕红浥鲛绡透。"; + // "origin" : "钗头凤·红酥手", + // "author" : "陆游", + // "category" : "古诗文-抒情-伤感"; + TZ(); + +} + + +void CYANGRemindDlg::OnBnClickedButton2() +{ + // TODO: 在此添加控件通知处理程序代码 + netlist(); + num31 = _T("2"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath3"), num31);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xz = 2; +} + + +void CYANGRemindDlg::OnBnClickedButton9() +{ + // TODO: 在此添加控件通知处理程序代码 + CAboutDlg dlgAbout; + dlgAbout.DoModal(); +} + + +void CYANGRemindDlg::OnBnClickedButton3() +{ + // TODO: 在此添加控件通知处理程序代码 + xz = 1; + CInternetSession session(_T("HttpClient")); + TCHAR* url = _T("https://api.vvhan.com/api/en?type=sj"); + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content; + CString data; + while (pfile->ReadString(data)) + { + content += data; + } + char* pch; + pch = new char[content.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content, content.GetLength() * sizeof(TCHAR)); + content = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + //AfxMessageBox(content); + //CString content2; + // content2 = content.Left(content.Find('r')); + // content2 = content2.Right(content.GetLength() - 1 - content.ReverseFind(':')); + //CString contenta; + // contenta = content.Left(content.Find('a')); + //contenta = content.Right(content.GetLength() - 1 - content.ReverseFind(':')); + + int start = content.Find(_T("zh\":\"")); + int end = content.Find(_T("\",\"en\":")); + CString result = content.Mid(start + 5, end - start - 5); + int start1 = content.Find(_T("en\":\"")); + int end1 = content.Find(_T("\",\"pic\":")); + CString result1 = content.Mid(start1 + 5, end1 - start1 - 5); + //temp2 = temp2 + "\r\n作者:" + temp3; + + //CString strLeftString; + //int nLengthLeft = 0; + //nLengthLeft = content.Find(_T("。"));//获取等号的位置 + //AfxMessageBox(content2); + // strLeftString = content.Left(nLengthLeft);//获得等号左面的字符串 + // CString strRightString; + //int nLength = strLeftString.GetLength(); + //nLengthLeft = 0; + // nLength = strLeftString.Find(_T("origin")); + // strRightString = strLeftString.Right(nLength - nLengthLeft - 1);//获得等号右面的字符串 + + // AfxMessageBox(result); + + // AfxMessageBox(result1); + //AfxMessageBox(strRightString); + num2 = result1; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), num2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + num = result; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), num);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + TZ(); + //ssssssssssssssssdasd + } + pfile->Close(); + delete pfile; + session.Close(); + //char* str = "content春如旧。人空瘦。泪痕红浥鲛绡透。"; + // "origin" : "钗头凤·红酥手", + // "author" : "陆游", + // "category" : "古诗文-抒情-伤感"; +} + + +void CAboutDlg::OnBnClickedButton1() +{ + // TODO: 在此添加控件通知处理程序代码 + system("start https://github.com/JasonYANG170/YANG-Remind/releases"); +} +int anjian = 0; + +void CYANGRemindDlg::OnBnClickedButton10() +{ + // TODO: 在此添加控件通知处理程序代码 + // TODO: 在此添加控件通知处理程序代码 + //CString tempPort; + //tempPort.Format(_T("%d"), xz); //Use Unicode Character Set + //MessageBox(tempPort); + int time; + CString time1; + GetDlgItem(IDC_EDIT3)->GetWindowText(time1); + time = _ttoi(time1); + if (anjian == 1) { + time = time * 3600000; + } + else + { + time = time * 60000; + } + SetTimer(1, time, NULL); +} + + +void CYANGRemindDlg::OnBnClickedCheck1() +{ + // TODO: 在此添加控件通知处理程序代码 + anjian == 1; +} + + +void CYANGRemindDlg::OnBnClickedCheck3() +{ + // TODO: 在此添加控件通知处理程序代码 + anjian == 0; +} + + +void CYANGRemindDlg::OnBnClickedButton11() +{ + KillTimer(1); + // TODO: 在此添加控件通知处理程序代码 +} + + +void CYANGRemindDlg::OnBnClickedButton12() +{ + xz = 4; + // TODO: 在此添加控件通知处理程序代码 + CInternetSession session(_T("HttpClient")); + TCHAR* url = _T("https://api.vvhan.com/api/weather"); + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content; + CString data; + while (pfile->ReadString(data)) + { + content += data; + } + char* pch; + pch = new char[content.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content, content.GetLength() * sizeof(TCHAR)); + content = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + //AfxMessageBox(content); + //CString content2; + // content2 = content.Left(content.Find('r')); + // content2 = content2.Right(content.GetLength() - 1 - content.ReverseFind(':')); + //CString contenta; + // contenta = content.Left(content.Find('a')); + //contenta = content.Right(content.GetLength() - 1 - content.ReverseFind(':')); + + CString str = content; + Json::Reader reader; + Json::Value root; + CString temp; + CString temp2; + CString temp3; + CString temp4; + CString temp5; + CString temp6; + USES_CONVERSION; + char* cJson = T2A(str.GetBuffer(0)); + str.ReleaseBuffer(); + if (reader.parse(cJson, root)) { + temp = root["city"].asCString(); + temp2 = root["info"]["type"].asCString(); + temp3 = root["info"]["high"].asCString(); + temp4 = root["info"]["low"].asCString(); + temp5 = root["info"]["tip"].asCString(); + temp6 = root["info"]["air"]["aqi_name"].asCString(); + } + temp = temp + " " + temp2+" "+temp3+" "+temp4+" 空气质量 "+temp6; + + //CString strLeftString; + //int nLengthLeft = 0; + //nLengthLeft = content.Find(_T("。"));//获取等号的位置 + //AfxMessageBox(content2); + // strLeftString = content.Left(nLengthLeft);//获得等号左面的字符串 + // CString strRightString; + //int nLength = strLeftString.GetLength(); + //nLengthLeft = 0; + // nLength = strLeftString.Find(_T("origin")); + // strRightString = strLeftString.Right(nLength - nLengthLeft - 1);//获得等号右面的字符串 + //MessageBox(temp); + num2 = temp5; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), num2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + num = temp; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), num);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + } + pfile->Close(); + delete pfile; + session.Close(); + TZ(); + +} + + + +void CYANGRemindDlg::OnBnClickedButton13() +{ + // TODO: 在此添加控件通知处理程序代码 +} + + +void CYANGRemindDlg::OnBnClickedButton14() +{ + open = 1; + MessageBox(_T("已开启"), NULL, MB_OK); + // TODO: 在此添加控件通知处理程序代码 + GetDlgItem(IDC_EDIT4)->GetWindowText(tonken1); + GetDlgItem(IDC_EDIT5)->GetWindowText(tonken2); + MessageBox(_T("保存成功,请在程序设置中<开启定时>即可定时切换。"), NULL, MB_OK); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), tonken1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), tonken2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 +} + + +void CYANGRemindDlg::OnBnClickedButton15() +{ + // TODO: 在此添加控件通知处理程序代码 + // open = 0; + MessageBox(_T("已关闭"), NULL, MB_OK); + // TODO: 在此添加控件通知处理程序代码 + CRegKey mykey; + if (mykey.Open(HKEY_CURRENT_USER, _T("Software\\应用程序向导生成的本地应用程序")) != ERROR_SUCCESS) + { + MessageBox(_T("删除失败")); + } + else + { + if (mykey.RecurseDeleteKey(_T("ww")) != ERROR_SUCCESS) + + { + MessageBox(_T("删除失败")); + } + MessageBox(_T("删除成功")); + } + mykey.Close(); +} + + +void CYANGRemindDlg::OnBnClickedButton16() +{ + // TODO: 在此添加控件通知处理程序代码 + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v AppsUseLightTheme /t REG_DWORD /d 1 /f"); + + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 1 /f"); + MessageBox(_T("已变更浅色模式"), NULL, MB_OK); +} + + +void CYANGRemindDlg::OnBnClickedButton17() +{ + // TODO: 在此添加控件通知处理程序代码 + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v AppsUseLightTheme /t REG_DWORD /d 0 /f"); + + system_hide("REG ADD HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize /v SystemUsesLightTheme /t REG_DWORD /d 0 /f"); + MessageBox(_T("已变更深色模式"), NULL, MB_OK); +} + +void KillProcess(CString sExeName) +{ + HANDLE hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); + if (hSnapShot == 0) + return; + PROCESSENTRY32 thePE; + thePE.dwSize = sizeof(PROCESSENTRY32); + + + //遍历正在运行的第一个系统进程 + + + bool Status = Process32First(hSnapShot, &thePE); + bool bHaveFlag = false; + DWORD ProcessID = 0; + + + while (Status) + { + //遍历正在运行的下一个系统进程 + Status = Process32Next(hSnapShot, &thePE); + //找到相应的进程 **.exe + + + // if(0 == wcscmp(thePE.szExeFile,L"")) + CString sFindName = thePE.szExeFile; + CString sTemp = sExeName.Mid(0, sFindName.GetLength()); + + + if (sFindName == sTemp) + { + bHaveFlag = true; + ProcessID = thePE.th32ProcessID; + + + //结束指定的进程 ProcessID + if (!TerminateProcess(OpenProcess(PROCESS_TERMINATE || PROCESS_QUERY_INFORMATION, false, ProcessID), 0)) + { + //AfxMessageBox(L"无法终止指定的进程!", MB_ICONWARNING || MB_OK); + } + else + { + //AfxMessageBox(L"进程结束!", MB_ICONWARNING || MB_OK); + break; + } + } + } + CloseHandle(hSnapShot); +} + +void CYANGRemindDlg::OnBnClickedButton20() +{ + // TODO: 在此添加控件通知处理程序代码 + GetDlgItem(IDC_EDIT6)->GetWindowText(program); +} + + +void CYANGRemindDlg::OnBnClickedButton22() +{ + // TODO: 在此添加控件通知处理程序代码 + int time; + CString time1; + GetDlgItem(IDC_EDIT7)->GetWindowText(time1); + time = _ttoi(time1); + time = time * 60000; + SetTimer(2, time, NULL); +} + + +void CYANGRemindDlg::OnBnClickedButton21() +{ + // TODO: 在此添加控件通知处理程序代码 + KillProcess(program); +} +UINT ThreadFunc2(LPVOID lParam) +{ + + while (true) { + KillProcess(program); + Sleep(1000); + } +} + + +void CYANGRemindDlg::OnBnClickedButton23() +{ + // TODO: 在此添加控件通知处理程序代码 + AfxBeginThread(ThreadFunc2, (LPVOID)this);//启动新的线程 +} + + +void CYANGRemindDlg::OnBnClickedButton24() +{ + // TODO: 在此添加控件通知处理程序代码 + CString a = (_T("shutdown -s -t ")); + CString time; + GetDlgItem(IDC_EDIT8)->GetWindowText(time); + int i = wcstol(time, NULL, 10); + i *= 3600; + CString times = (_T("")); + times.Format(_T("%d"), i); + a = a + times; + int len = WideCharToMultiByte(CP_ACP, 0, a, -1, NULL, 0, NULL, NULL); + char* ptxtTemp = new char[len + 1]; + WideCharToMultiByte(CP_ACP, 0, a, -1, ptxtTemp, len, NULL, NULL); + system(ptxtTemp); + //... + delete[] ptxtTemp; +} + +void CYANGRemindDlg::OnBnClickedButton25() +{ + // TODO: 在此添加控件通知处理程序代码 + system("shutdown -a"); +} +#define progressCtrl +// 声明全局变量 + +// MCI通知消息处理函数 + + +// 播放在线MP3文件 +LRESULT CYANGRemindDlg::OnPlayFinished(WPARAM wParam, LPARAM lParam) +{ + // 弹出提示框并等待用户确认 + if (AfxMessageBox(_T("Do you want to play again?"), MB_YESNO) == IDYES) + { + // 重新打开 URL 以继续播放 + mciSendString(_T("close mp3"), NULL, 0, NULL); + CString strCommand; + strCommand.Format(_T("open %s type mpegvideo alias mp3 notify"), g_strUrl); + mciSendString(strCommand, NULL, 0, g_hWndNotify); + mciSendString(_T("play mp3"), NULL, 0, NULL); + } + else + { + // 停止播放 + mciSendString(_T("stop mp3"), NULL, 0, NULL); + mciSendString(_T("close mp3"), NULL, 0, NULL); + + // 退出消息循环 + PostQuitMessage(0); + } + + return 0; +} +void CYANGRemindDlg::PlayMP3(LPCTSTR lpszFileName) +{ + + g_strUrl = lpszFileName; + + // 打开MCI设备并播放音频 + CString strCommand; + strCommand.Format(_T("open %s type mpegvideo alias mp3 notify"), lpszFileName); + mciSendString(strCommand, NULL, 0, NULL); + mciSendString(_T("play mp3"), NULL, 0, NULL); + + MSG msg; + + while (::GetMessage(&msg, NULL, 0, 0)) + { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + StopMP3(); + + + +} +void CYANGRemindDlg::StopMP3() +{ + mciSendString(_T("stop mp3"), NULL, 0, NULL); + mciSendString(_T("close mp3"), NULL, 0, NULL); +} + +void CYANGRemindDlg::OnBnClickedButton18() +{ + xz = 5; + // TODO: 在此添加控件通知处理程序代码 + CInternetSession session(_T("HttpClient")); + TCHAR* url = _T("https://api.vvhan.com/api/rand.music?type=json&sort=%E7%83%AD%E6%AD%8C%E6%A6%9C"); + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content; + CString data; + while (pfile->ReadString(data)) + { + content += data; + } + char* pch; + pch = new char[content.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content, content.GetLength() * sizeof(TCHAR)); + content = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + //MessageBox(content); + CString str = content; + Json::Reader reader; + Json::Value root; + CString temp; + CString temp2; + CString temp3; + CString temp4; + CString temp5; + CString temp6; + USES_CONVERSION; + char* cJson = T2A(str.GetBuffer(0)); + str.ReleaseBuffer(); + if (reader.parse(cJson, root)) { + temp2 = root["info"]["mp3url"].asCString(); + temp3 = root["info"]["name"].asCString(); + // temp4 = root["info"]["auther"].asCString(); + //temp5 = root["info"]["tip"].asCString(); + //temp6 = root["info"]["air"]["aqi_name"].asCString(); + } + //temp = temp + " " + temp2 + " " + temp3 + " " + temp4 + " 空气质量 " + temp6; + //MessageBox(temp2); + //MessageBox(temp3); + //MessageBox(temp); + PlayMP3(temp2); + // num2 = temp3; + // AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), temp3);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + //num = temp4; + //AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), temp4);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + if (!isNotify) + { + nid.cbSize = (DWORD)sizeof(NOTIFYICONDATA); + nid.hWnd = this->m_hWnd; + nid.uID = IDR_MAINFRAME; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP | NIF_INFO; + nid.uCallbackMessage = WM_SHOWTASK;//自定义的消息名称,注意:这里的消息是用户自定义消息 + nid.hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME)); + wcscpy_s(nid.szTip, _T("YANG Remind程序"));//信息提示条为"计划任务提醒" + wcscpy_s(nid.szInfo, temp3); + wcscpy_s(nid.szInfoTitle, temp3); + nid.dwInfoFlags = NIIF_INFO; + //nid.uTimeout = 5; + Shell_NotifyIcon(NIM_ADD, &nid);//在托盘区添加图标 + //AnimateWindow(5000, AW_HIDE | AW_BLEND); //可以缓慢消失窗口 + //ShowWindow(SW_HIDE);//隐藏主窗口 + Shell_NotifyIcon(NIM_DELETE, &nid); + //KillTimer(0); + } + } + pfile->Close(); + delete pfile; + session.Close(); + +} + + + +void CYANGRemindDlg::OnBnClickedButton19() +{ + // TODO: 在此添加控件通知处理程序代码 + StopMP3(); +} + + +void CYANGRemindDlg::OnBnClickedButton26() +{ + xz = 6; + // TODO: 在此添加控件通知处理程序代码 + CInternetSession session(_T("HttpClient")); + TCHAR* url = _T("https://api.vvhan.com/api/hotlist?type=baiduRD"); + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content; + CString data; + while (pfile->ReadString(data)) + { + content += data; + } + char* pch; + pch = new char[content.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content, content.GetLength() * sizeof(TCHAR)); + content = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + //AfxMessageBox(content); + //CString content2; + // content2 = content.Left(content.Find('r')); + // content2 = content2.Right(content.GetLength() - 1 - content.ReverseFind(':')); + //CString contenta; + // contenta = content.Left(content.Find('a')); + //contenta = content.Right(content.GetLength() - 1 - content.ReverseFind(':')); + + CString str = content; + Json::Reader reader; + Json::Value root; + CString temp; + CString temp2; + CString temp3; + CString temp4; + CString temp5; + CString temp6; + USES_CONVERSION; + char* cJson = T2A(str.GetBuffer(0)); + str.ReleaseBuffer(); + if (reader.parse(cJson, root)) { + temp = root["data"][0]["title"].asCString(); + temp2 = root["data"][0]["desc"].asCString(); + MessageBox(temp3+temp4); + } + num2 = temp; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), num2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + num = temp2; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), num);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + } + pfile->Close(); + delete pfile; + session.Close(); + TZ(); +} + +void CYANGRemindDlg::xinzuo27() +{ + xz = 7; + // TODO: 在此添加控件通知处理程序代码 + CInternetSession session(_T("HttpClient")); + CString url1= _T("https://api.vvhan.com/api/horoscope?type="); + CString str = url1+xingzuo1; + TCHAR* url = (LPTSTR)(LPCTSTR)str; + CHttpFile* pfile = (CHttpFile*)session.OpenURL(url); + DWORD dwStatusCode; + pfile->QueryInfoStatusCode(dwStatusCode); + if (dwStatusCode == HTTP_STATUS_OK) + { + CString content; + CString data; + while (pfile->ReadString(data)) + { + content += data; + } + char* pch; + pch = new char[content.GetLength() * sizeof(TCHAR) + 1]; + memcpy(pch, content, content.GetLength() * sizeof(TCHAR)); + content = UTF8ToUnicode(pch);//转换编码,不然就乱码了 + //AfxMessageBox(content); + //CString content2; + // content2 = content.Left(content.Find('r')); + // content2 = content2.Right(content.GetLength() - 1 - content.ReverseFind(':')); + //CString contenta; + // contenta = content.Left(content.Find('a')); + //contenta = content.Right(content.GetLength() - 1 - content.ReverseFind(':')); + + CString str = content; + Json::Reader reader; + Json::Value root; + CString temp; + CString temp2; + CString temp3; + CString temp4; + CString temp5; + CString temp6; + USES_CONVERSION; + char* cJson = T2A(str.GetBuffer(0)); + str.ReleaseBuffer(); + if (reader.parse(cJson, root)) { + temp = root["data"]["title"].asCString(); + temp2 = root["data"]["fortunetext"]["all"].asCString(); + MessageBox(temp + temp2); + } + num2 = temp; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath2"), num2);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + num = temp2; + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPath"), num);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + } + pfile->Close(); + delete pfile; + session.Close(); + TZ(); +} + + +void CYANGRemindDlg::OnBnClickedMfcmenubutton1() +{ + // TODO: 在此添加控件通知处理程序代码 + switch (m_menu.m_nMenuResult) + { + case ID_1: + { + TZ(); + break; + } + case ID_2: + { + OnBnClickedButton26(); + break; + } + case ID_3: + { + OnBnClickedButton12(); + break; + } + case ID_4: + { + OnBnClickedButton3(); + break; + } + case ID_5: + { + OnBnClickedButton2(); + break; + } + case ID_6: + { + OnBnClickedButton18(); + break; + } + case ID_7: + { + OnBnClickedButton19(); + break; + } + case ID_32787: + { + + xingzuo1 = _T("aquarius&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32788: + { + + xingzuo1 = _T("pisces&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32794: + { + + xingzuo1 = _T("aries&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32795: + { + + xingzuo1 = _T("taurus&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32796: + { + + xingzuo1 = _T("gemini&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32797: + { + + xingzuo1 = _T("cancer&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32798: + { + + xingzuo1 = _T("leo&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32799: + { + + xingzuo1 = _T("virgo&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名; + xinzuo27(); + break; + } + case ID_32800: + { + + xingzuo1 = _T("libra&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32801: + { + + xingzuo1 = _T("scorpio&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32802: + { + + xingzuo1 = _T("sagittarius&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + case ID_32803: + { + + xingzuo1 = _T("capricorn&time=today"); + AfxGetApp()->WriteProfileString(_T("Settings"), _T("LocalRecPathxz"), xingzuo1);//_localRecPath就是要保存的信息,Settings为注册表子键,LocalRecPath即子键的键值名 + xinzuo27(); + break; + } + + } +} + + + +void CAboutDlg::On15() +{ + // TODO: 在此添加命令处理程序代码 +} diff --git a/YANG Remind/YANG RemindDlg.h b/YANG Remind/YANG RemindDlg.h new file mode 100644 index 0000000..9431295 --- /dev/null +++ b/YANG Remind/YANG RemindDlg.h @@ -0,0 +1,83 @@ + +// YANG RemindDlg.h: 头文件 +// + +#pragma once + + +// CYANGRemindDlg 对话框 +class CYANGRemindDlg : public CDialogEx +{ +// 构造 +public: + CYANGRemindDlg(CWnd* pParent = nullptr); // 标准构造函数 + +// 对话框数据 +#ifdef AFX_DESIGN_TIME + enum { IDD = IDD_YANG_REMIND_DIALOG }; +#endif + + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 + + +// 实现 +protected: + HICON m_hIcon; + + // 生成的消息映射函数 + virtual BOOL OnInitDialog(); + afx_msg void OnSysCommand(UINT nID, LPARAM lParam); + afx_msg void OnPaint(); + afx_msg HCURSOR OnQueryDragIcon(); + void TZ(); + DECLARE_MESSAGE_MAP() +public: + CButton PowerBootButton; + afx_msg void OnBnClickedButton5(); + afx_msg void OnBnClickedButton6(); + afx_msg void OnBnClickedButton1(); + void ToTray(); + void DeleteTray(); + LRESULT OnShowtask(WPARAM wParam, LPARAM lParam); + afx_msg void OnBnClickedButton2(); + afx_msg void OnBnClickedButton8(); + CString UTF8ToUnicode(char* UTF8); + void netlist(); + afx_msg void OnBnClickedButton7(); + afx_msg void OnBnClickedButton4(); + afx_msg void OnBnClickedPowerboot(); + afx_msg void OnTimer(UINT_PTR nIDEvent); + afx_msg void OnBnClickedButton9(); + afx_msg void OnBnClickedButton3(); + afx_msg void OnBnClickedButton10(); + afx_msg void OnBnClickedCheck1(); + afx_msg void OnBnClickedCheck3(); + afx_msg void OnBnClickedButton11(); + afx_msg void OnBnClickedButton12(); + afx_msg void OnBnClickedButton13(); + afx_msg void OnBnClickedButton14(); + afx_msg void OnBnClickedButton15(); + afx_msg void OnBnClickedButton16(); + afx_msg void OnBnClickedButton17(); + afx_msg void OnBnClickedButton20(); + afx_msg void OnBnClickedButton22(); + afx_msg void OnBnClickedButton21(); + afx_msg void OnBnClickedButton23(); + afx_msg void OnBnClickedButton24(); + afx_msg void OnBnClickedButton25(); + LRESULT OnPlayFinished(WPARAM wParam, LPARAM lParam); + void PlayMP3(LPCTSTR lpszFileName); + void StopMP3(); + afx_msg void OnBnClickedButton18(); + afx_msg void OnBnClickedButton19(); + afx_msg void OnBnClickedButton26(); + void xinzuo27(); + CSplitButton split; + afx_msg void OnBnClickedSplit1(); + afx_msg void On15opl(); + afx_msg void OnBnClickedMfcmenubutton1(); + CMFCMenuButton m_menu; + afx_msg void On15(); + afx_msg void OnBnClickedButton27(); +}; diff --git a/YANG Remind/YANGRemind.rc b/YANG Remind/YANGRemind.rc new file mode 100644 index 0000000000000000000000000000000000000000..68967da72053db95eccdea84ae6631e03ba7c066 GIT binary patch literal 22244 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 // MFC 核心组件和标准组件 +#include // MFC 扩展 + + +#include // MFC 自动化类 + + + +#ifndef _AFX_NO_OLE_SUPPORT +#include // MFC 对 Internet Explorer 4 公共控件的支持 +#endif +#ifndef _AFX_NO_AFXCMN_SUPPORT +#include // MFC 对 Windows 公共控件的支持 +#endif // _AFX_NO_AFXCMN_SUPPORT + +#include // MFC 支持功能区和控制条 + + + + + + + + + +#ifdef _UNICODE +#if defined _M_IX86 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") +#elif defined _M_X64 +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") +#else +#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") +#endif +#endif + + diff --git a/YANG Remind/pch.cpp b/YANG Remind/pch.cpp new file mode 100644 index 0000000..b6fb8f4 --- /dev/null +++ b/YANG Remind/pch.cpp @@ -0,0 +1,5 @@ +// pch.cpp: 与预编译标头对应的源文件 + +#include "pch.h" + +// 当使用预编译的头时,需要使用此源文件,编译才能成功。 diff --git a/YANG Remind/pch.h b/YANG Remind/pch.h new file mode 100644 index 0000000..9660927 --- /dev/null +++ b/YANG Remind/pch.h @@ -0,0 +1,13 @@ +// pch.h: 这是预编译标头文件。 +// 下方列出的文件仅编译一次,提高了将来生成的生成性能。 +// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。 +// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。 +// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。 + +#ifndef PCH_H +#define PCH_H + +// 添加要在此处预编译的标头 +#include "framework.h" + +#endif //PCH_H diff --git a/YANG Remind/res/YANG Remind.ico b/YANG Remind/res/YANG Remind.ico new file mode 100644 index 0000000000000000000000000000000000000000..d56fbcdfdf6eac0f4727c34770c26689271d96af GIT binary patch literal 67777 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 NK9A-8OQnhX{{?OVn?wKr literal 0 HcmV?d00001 diff --git a/YANG Remind/res/YANGRemind.rc2 b/YANG Remind/res/YANGRemind.rc2 new file mode 100644 index 0000000000000000000000000000000000000000..5185129f0254ac5aa31595b860aea1eccf8f2131 GIT binary patch literal 676 zcmezWPoF`bftP^`Na`~vFhnvqGWapLGXycDGUPI3GUPF&Fz7K9F(fk>0cCZ8*cT|8 z3>3*{C7fr4 diff --git a/json/allocator.h b/json/allocator.h new file mode 100644 index 0000000..95ef8a5 --- /dev/null +++ b/json/allocator.h @@ -0,0 +1,88 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_ALLOCATOR_H_INCLUDED +#define JSON_ALLOCATOR_H_INCLUDED + +#include +#include + +#pragma pack(push, 8) + +namespace Json { +template class SecureAllocator { +public: + // Type definitions + using value_type = T; + using pointer = T*; + using const_pointer = const T*; + using reference = T&; + using const_reference = const T&; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + + /** + * Allocate memory for N items using the standard allocator. + */ + pointer allocate(size_type n) { + // allocate using "global operator new" + return static_cast(::operator new(n * sizeof(T))); + } + + /** + * Release memory which was allocated for N items at pointer P. + * + * The memory block is filled with zeroes before being released. + */ + void deallocate(pointer p, size_type n) { + // memset_s is used because memset may be optimized away by the compiler + memset_s(p, n * sizeof(T), 0, n * sizeof(T)); + // free using "global operator delete" + ::operator delete(p); + } + + /** + * Construct an item in-place at pointer P. + */ + template void construct(pointer p, Args&&... args) { + // construct using "placement new" and "perfect forwarding" + ::new (static_cast(p)) T(std::forward(args)...); + } + + size_type max_size() const { return size_t(-1) / sizeof(T); } + + pointer address(reference x) const { return std::addressof(x); } + + const_pointer address(const_reference x) const { return std::addressof(x); } + + /** + * Destroy an item in-place at pointer P. + */ + void destroy(pointer p) { + // destroy using "explicit destructor" + p->~T(); + } + + // Boilerplate + SecureAllocator() {} + template SecureAllocator(const SecureAllocator&) {} + template struct rebind { using other = SecureAllocator; }; +}; + +template +bool operator==(const SecureAllocator&, const SecureAllocator&) { + return true; +} + +template +bool operator!=(const SecureAllocator&, const SecureAllocator&) { + return false; +} + +} // namespace Json + +#pragma pack(pop) + +#endif // JSON_ALLOCATOR_H_INCLUDED diff --git a/json/assertions.h b/json/assertions.h new file mode 100644 index 0000000..666fa7f --- /dev/null +++ b/json/assertions.h @@ -0,0 +1,61 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_ASSERTIONS_H_INCLUDED +#define JSON_ASSERTIONS_H_INCLUDED + +#include +#include + +#if !defined(JSON_IS_AMALGAMATION) +#include "config.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +/** It should not be possible for a maliciously designed file to + * cause an abort() or seg-fault, so these macros are used only + * for pre-condition violations and internal logic errors. + */ +#if JSON_USE_EXCEPTION + +// @todo <= add detail about condition in exception +#define JSON_ASSERT(condition) \ + do { \ + if (!(condition)) { \ + Json::throwLogicError("assert json failed"); \ + } \ + } while (0) + +#define JSON_FAIL_MESSAGE(message) \ + do { \ + OStringStream oss; \ + oss << message; \ + Json::throwLogicError(oss.str()); \ + abort(); \ + } while (0) + +#else // JSON_USE_EXCEPTION + +#define JSON_ASSERT(condition) assert(condition) + +// The call to assert() will show the failure message in debug builds. In +// release builds we abort, for a core-dump or debugger. +#define JSON_FAIL_MESSAGE(message) \ + { \ + OStringStream oss; \ + oss << message; \ + assert(false && oss.str().c_str()); \ + abort(); \ + } + +#endif + +#define JSON_ASSERT_MESSAGE(condition, message) \ + do { \ + if (!(condition)) { \ + JSON_FAIL_MESSAGE(message); \ + } \ + } while (0) + +#endif // JSON_ASSERTIONS_H_INCLUDED diff --git a/json/config.h b/json/config.h new file mode 100644 index 0000000..6359273 --- /dev/null +++ b/json/config.h @@ -0,0 +1,150 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_CONFIG_H_INCLUDED +#define JSON_CONFIG_H_INCLUDED +#include +#include +#include +#include +#include +#include +#include +#include + +// If non-zero, the library uses exceptions to report bad input instead of C +// assertion macros. The default is to use exceptions. +#ifndef JSON_USE_EXCEPTION +#define JSON_USE_EXCEPTION 1 +#endif + +// Temporary, tracked for removal with issue #982. +#ifndef JSON_USE_NULLREF +#define JSON_USE_NULLREF 1 +#endif + +/// If defined, indicates that the source file is amalgamated +/// to prevent private header inclusion. +/// Remarks: it is automatically defined in the generated amalgamated header. +// #define JSON_IS_AMALGAMATION + +// Export macros for DLL visibility +#if defined(JSON_DLL_BUILD) +#if defined(_MSC_VER) || defined(__MINGW32__) +#define JSON_API __declspec(dllexport) +#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING +#elif defined(__GNUC__) || defined(__clang__) +#define JSON_API __attribute__((visibility("default"))) +#endif // if defined(_MSC_VER) + +#elif defined(JSON_DLL) +#if defined(_MSC_VER) || defined(__MINGW32__) +#define JSON_API __declspec(dllimport) +#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING +#endif // if defined(_MSC_VER) +#endif // ifdef JSON_DLL_BUILD + +#if !defined(JSON_API) +#define JSON_API +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1800 +#error \ + "ERROR: Visual Studio 12 (2013) with _MSC_VER=1800 is the oldest supported compiler with sufficient C++11 capabilities" +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1900 +// As recommended at +// https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010 +extern JSON_API int msvc_pre1900_c99_snprintf(char* outBuf, size_t size, + const char* format, ...); +#define jsoncpp_snprintf msvc_pre1900_c99_snprintf +#else +#define jsoncpp_snprintf std::snprintf +#endif + +// If JSON_NO_INT64 is defined, then Json only support C++ "int" type for +// integer +// Storages, and 64 bits integer support is disabled. +// #define JSON_NO_INT64 1 + +// JSONCPP_OVERRIDE is maintained for backwards compatibility of external tools. +// C++11 should be used directly in JSONCPP. +#define JSONCPP_OVERRIDE override + +#ifdef __clang__ +#if __has_extension(attribute_deprecated_with_message) +#define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message))) +#endif +#elif defined(__GNUC__) // not clang (gcc comes later since clang emulates gcc) +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) +#define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message))) +#elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +#define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__)) +#endif // GNUC version +#elif defined(_MSC_VER) // MSVC (after clang because clang on Windows emulates + // MSVC) +#define JSONCPP_DEPRECATED(message) __declspec(deprecated(message)) +#endif // __clang__ || __GNUC__ || _MSC_VER + +#if !defined(JSONCPP_DEPRECATED) +#define JSONCPP_DEPRECATED(message) +#endif // if !defined(JSONCPP_DEPRECATED) + +#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 6)) +#define JSON_USE_INT64_DOUBLE_CONVERSION 1 +#endif + +#if !defined(JSON_IS_AMALGAMATION) + +#include "allocator.h" +#include "version.h" + +#endif // if !defined(JSON_IS_AMALGAMATION) + +namespace Json { +using Int = int; +using UInt = unsigned int; +#if defined(JSON_NO_INT64) +using LargestInt = int; +using LargestUInt = unsigned int; +#undef JSON_HAS_INT64 +#else // if defined(JSON_NO_INT64) +// For Microsoft Visual use specific types as long long is not supported +#if defined(_MSC_VER) // Microsoft Visual Studio +using Int64 = __int64; +using UInt64 = unsigned __int64; +#else // if defined(_MSC_VER) // Other platforms, use long long +using Int64 = int64_t; +using UInt64 = uint64_t; +#endif // if defined(_MSC_VER) +using LargestInt = Int64; +using LargestUInt = UInt64; +#define JSON_HAS_INT64 +#endif // if defined(JSON_NO_INT64) + +template +using Allocator = + typename std::conditional, + std::allocator>::type; +using String = std::basic_string, Allocator>; +using IStringStream = + std::basic_istringstream; +using OStringStream = + std::basic_ostringstream; +using IStream = std::istream; +using OStream = std::ostream; +} // namespace Json + +// Legacy names (formerly macros). +using JSONCPP_STRING = Json::String; +using JSONCPP_ISTRINGSTREAM = Json::IStringStream; +using JSONCPP_OSTRINGSTREAM = Json::OStringStream; +using JSONCPP_ISTREAM = Json::IStream; +using JSONCPP_OSTREAM = Json::OStream; + +#endif // JSON_CONFIG_H_INCLUDED diff --git a/json/forwards.h b/json/forwards.h new file mode 100644 index 0000000..affe33a --- /dev/null +++ b/json/forwards.h @@ -0,0 +1,43 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_FORWARDS_H_INCLUDED +#define JSON_FORWARDS_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "config.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +namespace Json { + +// writer.h +class StreamWriter; +class StreamWriterBuilder; +class Writer; +class FastWriter; +class StyledWriter; +class StyledStreamWriter; + +// reader.h +class Reader; +class CharReader; +class CharReaderBuilder; + +// json_features.h +class Features; + +// value.h +using ArrayIndex = unsigned int; +class StaticString; +class Path; +class PathArgument; +class Value; +class ValueIteratorBase; +class ValueIterator; +class ValueConstIterator; + +} // namespace Json + +#endif // JSON_FORWARDS_H_INCLUDED diff --git a/json/include/json/allocator.h b/json/include/json/allocator.h new file mode 100644 index 0000000..95ef8a5 --- /dev/null +++ b/json/include/json/allocator.h @@ -0,0 +1,88 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_ALLOCATOR_H_INCLUDED +#define JSON_ALLOCATOR_H_INCLUDED + +#include +#include + +#pragma pack(push, 8) + +namespace Json { +template class SecureAllocator { +public: + // Type definitions + using value_type = T; + using pointer = T*; + using const_pointer = const T*; + using reference = T&; + using const_reference = const T&; + using size_type = std::size_t; + using difference_type = std::ptrdiff_t; + + /** + * Allocate memory for N items using the standard allocator. + */ + pointer allocate(size_type n) { + // allocate using "global operator new" + return static_cast(::operator new(n * sizeof(T))); + } + + /** + * Release memory which was allocated for N items at pointer P. + * + * The memory block is filled with zeroes before being released. + */ + void deallocate(pointer p, size_type n) { + // memset_s is used because memset may be optimized away by the compiler + memset_s(p, n * sizeof(T), 0, n * sizeof(T)); + // free using "global operator delete" + ::operator delete(p); + } + + /** + * Construct an item in-place at pointer P. + */ + template void construct(pointer p, Args&&... args) { + // construct using "placement new" and "perfect forwarding" + ::new (static_cast(p)) T(std::forward(args)...); + } + + size_type max_size() const { return size_t(-1) / sizeof(T); } + + pointer address(reference x) const { return std::addressof(x); } + + const_pointer address(const_reference x) const { return std::addressof(x); } + + /** + * Destroy an item in-place at pointer P. + */ + void destroy(pointer p) { + // destroy using "explicit destructor" + p->~T(); + } + + // Boilerplate + SecureAllocator() {} + template SecureAllocator(const SecureAllocator&) {} + template struct rebind { using other = SecureAllocator; }; +}; + +template +bool operator==(const SecureAllocator&, const SecureAllocator&) { + return true; +} + +template +bool operator!=(const SecureAllocator&, const SecureAllocator&) { + return false; +} + +} // namespace Json + +#pragma pack(pop) + +#endif // JSON_ALLOCATOR_H_INCLUDED diff --git a/json/include/json/assertions.h b/json/include/json/assertions.h new file mode 100644 index 0000000..666fa7f --- /dev/null +++ b/json/include/json/assertions.h @@ -0,0 +1,61 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_ASSERTIONS_H_INCLUDED +#define JSON_ASSERTIONS_H_INCLUDED + +#include +#include + +#if !defined(JSON_IS_AMALGAMATION) +#include "config.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +/** It should not be possible for a maliciously designed file to + * cause an abort() or seg-fault, so these macros are used only + * for pre-condition violations and internal logic errors. + */ +#if JSON_USE_EXCEPTION + +// @todo <= add detail about condition in exception +#define JSON_ASSERT(condition) \ + do { \ + if (!(condition)) { \ + Json::throwLogicError("assert json failed"); \ + } \ + } while (0) + +#define JSON_FAIL_MESSAGE(message) \ + do { \ + OStringStream oss; \ + oss << message; \ + Json::throwLogicError(oss.str()); \ + abort(); \ + } while (0) + +#else // JSON_USE_EXCEPTION + +#define JSON_ASSERT(condition) assert(condition) + +// The call to assert() will show the failure message in debug builds. In +// release builds we abort, for a core-dump or debugger. +#define JSON_FAIL_MESSAGE(message) \ + { \ + OStringStream oss; \ + oss << message; \ + assert(false && oss.str().c_str()); \ + abort(); \ + } + +#endif + +#define JSON_ASSERT_MESSAGE(condition, message) \ + do { \ + if (!(condition)) { \ + JSON_FAIL_MESSAGE(message); \ + } \ + } while (0) + +#endif // JSON_ASSERTIONS_H_INCLUDED diff --git a/json/include/json/config.h b/json/include/json/config.h new file mode 100644 index 0000000..6359273 --- /dev/null +++ b/json/include/json/config.h @@ -0,0 +1,150 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_CONFIG_H_INCLUDED +#define JSON_CONFIG_H_INCLUDED +#include +#include +#include +#include +#include +#include +#include +#include + +// If non-zero, the library uses exceptions to report bad input instead of C +// assertion macros. The default is to use exceptions. +#ifndef JSON_USE_EXCEPTION +#define JSON_USE_EXCEPTION 1 +#endif + +// Temporary, tracked for removal with issue #982. +#ifndef JSON_USE_NULLREF +#define JSON_USE_NULLREF 1 +#endif + +/// If defined, indicates that the source file is amalgamated +/// to prevent private header inclusion. +/// Remarks: it is automatically defined in the generated amalgamated header. +// #define JSON_IS_AMALGAMATION + +// Export macros for DLL visibility +#if defined(JSON_DLL_BUILD) +#if defined(_MSC_VER) || defined(__MINGW32__) +#define JSON_API __declspec(dllexport) +#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING +#elif defined(__GNUC__) || defined(__clang__) +#define JSON_API __attribute__((visibility("default"))) +#endif // if defined(_MSC_VER) + +#elif defined(JSON_DLL) +#if defined(_MSC_VER) || defined(__MINGW32__) +#define JSON_API __declspec(dllimport) +#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING +#endif // if defined(_MSC_VER) +#endif // ifdef JSON_DLL_BUILD + +#if !defined(JSON_API) +#define JSON_API +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1800 +#error \ + "ERROR: Visual Studio 12 (2013) with _MSC_VER=1800 is the oldest supported compiler with sufficient C++11 capabilities" +#endif + +#if defined(_MSC_VER) && _MSC_VER < 1900 +// As recommended at +// https://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010 +extern JSON_API int msvc_pre1900_c99_snprintf(char* outBuf, size_t size, + const char* format, ...); +#define jsoncpp_snprintf msvc_pre1900_c99_snprintf +#else +#define jsoncpp_snprintf std::snprintf +#endif + +// If JSON_NO_INT64 is defined, then Json only support C++ "int" type for +// integer +// Storages, and 64 bits integer support is disabled. +// #define JSON_NO_INT64 1 + +// JSONCPP_OVERRIDE is maintained for backwards compatibility of external tools. +// C++11 should be used directly in JSONCPP. +#define JSONCPP_OVERRIDE override + +#ifdef __clang__ +#if __has_extension(attribute_deprecated_with_message) +#define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message))) +#endif +#elif defined(__GNUC__) // not clang (gcc comes later since clang emulates gcc) +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5)) +#define JSONCPP_DEPRECATED(message) __attribute__((deprecated(message))) +#elif (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +#define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__)) +#endif // GNUC version +#elif defined(_MSC_VER) // MSVC (after clang because clang on Windows emulates + // MSVC) +#define JSONCPP_DEPRECATED(message) __declspec(deprecated(message)) +#endif // __clang__ || __GNUC__ || _MSC_VER + +#if !defined(JSONCPP_DEPRECATED) +#define JSONCPP_DEPRECATED(message) +#endif // if !defined(JSONCPP_DEPRECATED) + +#if defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 6)) +#define JSON_USE_INT64_DOUBLE_CONVERSION 1 +#endif + +#if !defined(JSON_IS_AMALGAMATION) + +#include "allocator.h" +#include "version.h" + +#endif // if !defined(JSON_IS_AMALGAMATION) + +namespace Json { +using Int = int; +using UInt = unsigned int; +#if defined(JSON_NO_INT64) +using LargestInt = int; +using LargestUInt = unsigned int; +#undef JSON_HAS_INT64 +#else // if defined(JSON_NO_INT64) +// For Microsoft Visual use specific types as long long is not supported +#if defined(_MSC_VER) // Microsoft Visual Studio +using Int64 = __int64; +using UInt64 = unsigned __int64; +#else // if defined(_MSC_VER) // Other platforms, use long long +using Int64 = int64_t; +using UInt64 = uint64_t; +#endif // if defined(_MSC_VER) +using LargestInt = Int64; +using LargestUInt = UInt64; +#define JSON_HAS_INT64 +#endif // if defined(JSON_NO_INT64) + +template +using Allocator = + typename std::conditional, + std::allocator>::type; +using String = std::basic_string, Allocator>; +using IStringStream = + std::basic_istringstream; +using OStringStream = + std::basic_ostringstream; +using IStream = std::istream; +using OStream = std::ostream; +} // namespace Json + +// Legacy names (formerly macros). +using JSONCPP_STRING = Json::String; +using JSONCPP_ISTRINGSTREAM = Json::IStringStream; +using JSONCPP_OSTRINGSTREAM = Json::OStringStream; +using JSONCPP_ISTREAM = Json::IStream; +using JSONCPP_OSTREAM = Json::OStream; + +#endif // JSON_CONFIG_H_INCLUDED diff --git a/json/include/json/forwards.h b/json/include/json/forwards.h new file mode 100644 index 0000000..affe33a --- /dev/null +++ b/json/include/json/forwards.h @@ -0,0 +1,43 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_FORWARDS_H_INCLUDED +#define JSON_FORWARDS_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "config.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +namespace Json { + +// writer.h +class StreamWriter; +class StreamWriterBuilder; +class Writer; +class FastWriter; +class StyledWriter; +class StyledStreamWriter; + +// reader.h +class Reader; +class CharReader; +class CharReaderBuilder; + +// json_features.h +class Features; + +// value.h +using ArrayIndex = unsigned int; +class StaticString; +class Path; +class PathArgument; +class Value; +class ValueIteratorBase; +class ValueIterator; +class ValueConstIterator; + +} // namespace Json + +#endif // JSON_FORWARDS_H_INCLUDED diff --git a/json/include/json/json.h b/json/include/json/json.h new file mode 100644 index 0000000..5c776a1 --- /dev/null +++ b/json/include/json/json.h @@ -0,0 +1,15 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_JSON_H_INCLUDED +#define JSON_JSON_H_INCLUDED + +#include "config.h" +#include "json_features.h" +#include "reader.h" +#include "value.h" +#include "writer.h" + +#endif // JSON_JSON_H_INCLUDED diff --git a/json/include/json/json_features.h b/json/include/json/json_features.h new file mode 100644 index 0000000..7c7e9f5 --- /dev/null +++ b/json/include/json/json_features.h @@ -0,0 +1,61 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_FEATURES_H_INCLUDED +#define JSON_FEATURES_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "forwards.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +#pragma pack(push, 8) + +namespace Json { + +/** \brief Configuration passed to reader and writer. + * This configuration object can be used to force the Reader or Writer + * to behave in a standard conforming way. + */ +class JSON_API Features { +public: + /** \brief A configuration that allows all features and assumes all strings + * are UTF-8. + * - C & C++ comments are allowed + * - Root object can be any JSON value + * - Assumes Value strings are encoded in UTF-8 + */ + static Features all(); + + /** \brief A configuration that is strictly compatible with the JSON + * specification. + * - Comments are forbidden. + * - Root object must be either an array or an object value. + * - Assumes Value strings are encoded in UTF-8 + */ + static Features strictMode(); + + /** \brief Initialize the configuration like JsonConfig::allFeatures; + */ + Features(); + + /// \c true if comments are allowed. Default: \c true. + bool allowComments_{true}; + + /// \c true if root must be either an array or an object value. Default: \c + /// false. + bool strictRoot_{false}; + + /// \c true if dropped null placeholders are allowed. Default: \c false. + bool allowDroppedNullPlaceholders_{false}; + + /// \c true if numeric object key are allowed. Default: \c false. + bool allowNumericKeys_{false}; +}; + +} // namespace Json + +#pragma pack(pop) + +#endif // JSON_FEATURES_H_INCLUDED diff --git a/json/include/json/jsoncpp.dll b/json/include/json/jsoncpp.dll new file mode 100644 index 0000000000000000000000000000000000000000..779b2d9563d7fcdf0356c2d5a3738586b811bb55 GIT binary patch literal 200704 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 F{U2D3CL90& literal 0 HcmV?d00001 diff --git a/json/include/json/jsoncppw.dll b/json/include/json/jsoncppw.dll new file mode 100644 index 0000000000000000000000000000000000000000..1e0d911d5ec68d50fd0ea32360688b6978f89949 GIT binary patch literal 615424 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

vr*{d4{wJ2v1zOAanH*o}(Y^mIb_j!6 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 F{{R-cCcppy literal 0 HcmV?d00001 diff --git a/json/jsoncppw.dll b/json/jsoncppw.dll new file mode 100644 index 0000000000000000000000000000000000000000..1e0d911d5ec68d50fd0ea32360688b6978f89949 GIT binary patch literal 615424 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

X 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 literal 0 HcmV?d00001 diff --git a/json/lib/jsoncpp.dll b/json/lib/jsoncpp.dll new file mode 100644 index 0000000000000000000000000000000000000000..779b2d9563d7fcdf0356c2d5a3738586b811bb55 GIT binary patch literal 200704 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 F{U2D3CL90& literal 0 HcmV?d00001 diff --git a/json/lib/jsoncpp.exp b/json/lib/jsoncpp.exp new file mode 100644 index 0000000000000000000000000000000000000000..fbbcaa48d01fe6999147475b486136b02e130dd7 GIT binary patch literal 83029 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 E52XgULI3~& literal 0 HcmV?d00001 diff --git a/json/lib/jsoncpp.lib b/json/lib/jsoncpp.lib new file mode 100644 index 0000000000000000000000000000000000000000..5999f570d3a036e424d9c4835c09ac58b4345c59 GIT binary patch literal 136340 zcmeHw33yf2@%XuMN2`{qwbm*kE^S>%2#c-tB_SYz5F%k!G(M6CJV^4wdoKahB3iXp zt-I8HY1OJ#+q%`IDpJJ_Q4z&jMZ^skKoJ!!;(z9xyPR|HoV(<{7wrH0`F&$T?wpx9 zbLPyMv(4G>$Yi!@+EG0Y@1_2CXsP;d>tB7%U&>4S4eZZ*9>|QN zCo$vAWz6``WPla$`-#kWZ7nn27{iPetKs)fX1oqK_il!tfcK~C1#G^Z83=V71k8Gz z861v+p8&(}5zx_-83^sS2$*m_GdT2sp8%(PZ9+Tz1ZaCfz^IRz!C^Z51egtf=P(R@ z0!&;i;DR%lf$*0l0_N_-41`~wF5t@(n85+${1RXjd_#B+cq4p$mVoPyWd=g#K>-cG z6Jhjw0!~`R3=R|ECqM>dKse@)CV(!F0hsfu3FF`=z;90yaQ0kgAj}8)2xnYs!nW`e z;NmL$vzdYLchDumJ$+1g27UruKSjVgkQ?EKashu`%M65noi5-purm&zqsIWQ zTO#0_9#9{EJ6;#Cs-77L?LY@%+15FOo;U~b1_XM z2q!KSkc4_5G+ij58Dv99-X>r&@Zzu!`~*1hNCAy!GXtUd6akGu6XAr51>``t2&YvE zn74o#2;UxN!tL-A;Lgbc{tCJWC}E#)F#b@%1pE_z0$hHN34`D#z*(CGoLvI_72x)# z1l)8ZGZ1ct`XW5BwSYfE{SaCRPOqdKm0bT^U2+!{%VA)zI5AgDP0-gh22ronZ5te{H5jI^a z;DNs}1K~p8g>ZYlfDQLC1L3?A1)K}?5Y9i(1hBjF0Um}nL0CRPz>T0A4tv8-fM*w* zFbsYIocEf53%~{t&beN|@1Z=xxyK541nP?LFw`I6pS1!WdWIPY_stWqejGCpKAkUM z!yzCy!1`AOd4nvfG?IZgF`j^ z1Q>g*fQFA@90C|K%>4)7|}hXa&(72uD13Rqmn420#NAB1NH z30PUr41^Vv1iS${M)(KxHx66FPk^Ux6L4=Q!~y_!K${{wf3|=-S3-XSm=50%((?pN zIfWSrsnr6S*F(PsI2~{i(m)$wTDyR$Yng#CWs`v4%w-0`$dd%regb|Ipz}Zh#|~!( z!d$RxgyV(^ICXDkAk4@LnEnOG1#o6B0c{f?&Hxw*d=NVC7mx+LBOE_pz&y|sLUtbk zlR#Gpr-D8Zu6>YB%tu8<}xUJN$hL{2OGt2I_O{VgWOIGXtUZ6%Hl4 zf^Pyaj$0yN=GE{W;H^73lx(#dLoj}~RKQnIcZ3}9LZ~}Mz=H>a9Rl1B^+R|Ez5$f% zFkHa*hq4j?thmx&9c7$zu3)uEXR)Vk{&_dYeH38d$9uc;>je~Jk zJ^1SeF^`l0QX{;X7FnDxL{g_ds8>i9*Qrc4{h@uW8Fyj7zq3q$-93(Ta+)#^F^qR&sVEtg&8VBOGGs zHqYl_&e!B@|F2%!HBMnpdO*2fMS!|L0y6MmIN~>_rX)LB@}pD9mila}DVlF^!mu8s(4B^{UVUK;1k#oTv7`YE9-zMSE1L(>kSkn3mA{PK1G~|={bW;QP!?vk%m#!aDRV}%l zAiPAPilkIkiG&=#9E6r=Y6O2<5sFqARL~wttFltxE@2A<(w0?iw~aq_xkw_H$`8)8 zwx(Qh23q_CRO|S1^K*SmvMI&!%A~QPtHlHPHjaqNSx*3YkD1f14*Sqll@rF7^N@jm zbk#CsfkZl2+0v3}O6F6|N>~BIS7l?JW2Aw2C}oY77zo=~=k%RWxQRsLP&p*xZR|*- z`3l~&KAE3ZnVs6fTVEQIrLulF-~n_Lh(SFV)rX#J+E#DSGMAB|pJ^ED`*7F-fwW~o zEU5#;k&BouBzsnO%ecOo8kGO4X$cyIC@%|S)q!hXrXVAkT9H2cYuXP{OG{>GNyRnm zr6!{$5`%b0smZ6Z$$TbTmCRWauw!^X_G&A1fkfhnsI)^DNFtKA#q6y4;nzAtFV0;+4VU4UgWvyHAnXTk8=&xicv~_z` zNm)N4hkv25XL2%^=Cd!HG**vI^l6%w%r@q;$#gzfQC*SCH&;{u z8Z5$Lv<(X})fEu3^FKSmtL*f;8JO1i*PKwTX{M)+#*%%7N%H7Sla1m z!o_mYj=BcyOf_Lg9qU3@n_KDA{;0xo#s8HSb}`sO@+8_ja?`{jq{hpM$ft}i!N;<1 zCr<5Fp50i(zFVS-$TTrElWA5>RLlV-i_>Ey!1Feb$;?Q#sU*NZ!*URMY4H&@mYfPk zDwD{~NVhk%!{VIF%#pOL$PB8?!pxfRa0#&9QssN`AE(nLI!0P+raY}U^t&<^M^H7r77HjQ?#_0%W z;~^t2N+KOUG)`yKM`bpfoD-2n=rW1sR1@sV>J+A}N7Q1`_@FPa z#skL{MB?cpVe;2o7~&J|NAL_^EE*qVTA;BmlAwj)Yu3~}H9&MFUyX(@7L5-w)mctR zo-Pt5|FLap>?nf)>N9EBAquK7kio$M0e-D#kH)T3g*`e7?D-r05CKzAN#pN4lt}v%7 zg>CItwl$9y?2E5wZ5=F?Z&_gyO&!@RY~gCgZfFPFK{&xzq%t_mt4qz!4~9h;ueznp z_dqCYQXpOc5a~c-sCsB(gnlf$qWV$U^mzssPq*~@+@c-Bt z($q0DexeN*rdrY`rG|{Eb(1YbOG!d?2P-_a2En~{-IxBVUH4Vb3u@MT1rkX^-iEMN z+zBc&8tjaCYJjE$T!>wlU{oJ^GFwYJEpr(ew2Tf?VeUB@sKtQNLzB2dHm5?1V~G=t z33}I3^Q`&@Vg^zZZ6L2=1o4+jKwJ1qAlg~1ll4_%i0B2OCLZm2^r6MjmiF49hK+*= zwI=!KtvVdKB4brYx<%jZB^hZ%#iCUdAH${*6K$zkQVpD6-RO9ruX3F89X58Huq7Um zL?<})X4r9%x|qsdEbckmY_dsrt#Bey>D0x|Oq`t%ft&DT1)3apFH=0NRxQrp=d`MA zz=+NXMWwO7ONHeV_BsXYSvsfl!b+v?f;V8i9~-(w~-Zy z1z?cFAHpy6l{8T_x{U+f*B=H{RajSD5{(0i)BP%f=cu{*nJ_M)Ar;NBXVW-!pVdx+ zSkOD&Rp0}Amo1PVCUCq|vB<+1>z3Oyw(1ZPv!*5U72dDzGx0%apgW?0x%$vab+r$B zG+0a~PzR3<7QP0>W07dbad@ zREnOoH%M^9uT&{%b(koHU#U`!!{z?yk(Yla%Z>0aho7l((iwX~O8iQdQkQ^;f+m8l zth6|wDa?1KiEr3hmD?Wy4NT)xauw7Kcp9z{)G4Xu<6nfj_-Cpd%Hvw(AZ51KI6PnF zbpbmX^u>a4!1LYd@AOBA8{K6vZlGhuKukR~sx~^#GHxO_E7`7Ggh7uy!3=SnJ{g3@ z>C`9Zv}BU%y&65a5ZJJO*gl7nt_lM%N4g+1PREBIK`sP#BJaMWgmcqGrR=}u5g{yk zA~9061iYE#HF#g7M4~PX4PT^0qCN}_U!+80R2Uk*NY-r+`}jYt4{^gogJj+6(0sNW zfVjz_K>{mkg^7-OFAbZV-`j8*WFTfDnHy~G;kz}2qmScQ0`Y*7hEUvva9N1ru`o|4 z;&B|eCUAp*Z&^ztF6`K7WKpm|EAEsCyshLq=@6i-Ct(5>u8|9CF$8B|r7KYVG$#s76_*TQM&u)dg5#0F{^}!xf`buhc2{`5f9o|)UJmcq8X&6)=dNNyUtk5!-kv*1U@4>iMgj^=-M)T0It;?T|8_h$< zW`s>#s6|~}WeUN=Qvio3oE#>2J&}2M4TJLmJ^Z>eW zkukJ4L&6fi59QcR8$qf9@=8oedweS2he3bOYwv_1VNl_$b8FH=v63H-@KOwi3?qCi zoY)5cm*bk-Y-Lbriy}!(c=|TCo)#N{~Wu@vDW)odu|b?^eN( zBNSYhY=ygus_!wcc$+tb|8KiD|I7O=h>lUL7EAm&#&PqvIHNwLC!HExr_H@0B>SjzBREHkLRYT7Q71lS>c}QI6 zS~G?v9(SHg`HV!gLW$;%c4{M=GrDf=+u-H+_!@(r}99CWC5(%o)f1Q+oSs0AzNL9mFF6rGZK-O5s0ueY%OK zW!DublFd^rwuycuZus<*kKUL@9j=UygEfdlIFBj;2HtMt=0KN$EGaWmZdB~_P6aBF zzN6ys1vqW48%aU7uZp!=D=f*JT|swItwNj)1q*hjO&T0C<5Ib+e*Zf{pIb3t38d^@9 zRZ(6szI+6(TcTF%B+s$||DVRpw1T$rYc&Qj7c@kgTbOKIgYm>;%ncW5@3F{S5;Icf zp0zbeaOFRiT%!|=MJoiFvNtj{T%-;5aL9=^SXdGfnT8|?9?Ok7we1d8iB`T!kIQAg zwZibnkt|xFC_G?o6O-<2Os0QZT*jKFa)TvnHa)F#gxE`I8ryN*w z6Kn(6k0=o4SA+8|r!wISV8)whw8IzRCr&%^scN{`m$audr1ZK|s9h)x>&ioBc38)% zG~C3AWM%#swHQB@?PF-rAZTd{59g#eDVI_NB6e;&1SY?B9rc&zo z&;J604j=vbKXP&i05L&(GM%mH(`RtixWUH~>vZGF`l;iaxU=QCx#e5cEhe6&H+6YV zy6og>1V79`YPM&x+8olBJO0pYW-SLzX+N$QmYVaxE#CN4y|%1;)_oO9GVFpFJ)2iy zyymO4T&U#fp7!H$5vOCdp=}p_Ca6L3qhYgFtE$vN^+xst+cY4q0HSmdS8>D1Iw|AN zL*QyCZdp_Dt-zKQ&9Y*`EF=R~+dkpMY_V*E40XsSyTg&Jv)x$jj~9|9HR*U-~9XxIWSS=DRsJnj&RRK_Kl zxNixUfvvR{JP z8G{gczj5(#jf1K!LpKY94mA|}y#96c!Qoa5Nt~M%3c7j{gj}fHPDy(Dmef%76tHV6 z_Zp4AH1*JidsaVBv6ICUVgEU|D8lXQA`KP0Yf00}$~3rHG0r#(vKO?SyP`kwS~d zy2{jS%L?IYS=Fkn#})cIJ3pK9 zP5y_QyN;BTrA=R&-!jGPyY^C{GZF8!lDtJM4rlfKO33Se1i972Aoq$!X?3pl_P86U|u`q9iE(SNyDu?vV=5{MJ|_U z&Su*2-Y$PCcUlJXF6IK+L@SiY!0DwSZO!0JG2!jd6g)ErtdTH6F+1W@tl49+L=<4*n5{ry6uTX|ho#&S1jle~ z5wf7*#V;g_HVj$L96q^uMlX$L=Q~>R;AtSkIe*MV!&dBbc#W>h<@uXT!8MJw59*Ax z_}o4E2 zU?j84gh3U$H&4n}rKV)EsbDkm_7bknu2WH@sGI`JqMXI3wg%X9=LzL?#^y7Ync~DD zC*50s2NJc4!36iTAkN)|h~@3EOAhPgwU0t|1YB|TS%Sc)J!8B83JyxNt?4Z^wc&Zl zEJm3epY#Mhlc|qkd@B^2m8g$w3q+-&jGQ5h3%;HaFl1@pQ8XkC-B_wAuIm$;5j89o z&$y~782_Y~esnD+OVQ5CNT_4y>=$`QTAwn4gJhCTTI64*sJ5@C{h_*ebC+G zun#Id8v7Iw?V}w{btUN$$bV!GNlTH)XFv@}PIgAYqjX53`mvfI(1j5@92HzK>wrv1 zfL+LSR_V}b@fZ|IcIgI6ab!mZMUq{<-&P#qMW*B;(Uy`e7m-7ebYE99zPuhDwoB*W zg);GKowS!;ocd^Z7O95vg}>s|N90vDX&=*(ftSb&?3vV)$lbsxkr-g@Ug5TC#94#+ zqJuSgP+oK>G~FJD_fr2mv{e1K^{>9>FXg4>{rdCYPwbH~7~3@1UxADYy>770_W~aLy#7xHyM434Hq;sH@mU5t3gDjM z2J6{juv^*{Ka59%{AER zzc$zjUjj{loi;)F=L~k%*9JTGI)gn3!cK26*n6W5w(2B;_2_xB982mEY#)L;V^0F5UMwrMrc1ZZ0XGOsn*)!!Iw zQ?~{=z9J*gY5~h_GHizz(tK6Y2tW|AdvW zia!|ap8)q<4s8Um`7F={wDD878|=oLfbXpa+Zx*A!asu@-UjUiKNrH^w!Z~<0bG4E z)C1sWfSX?iWtRZ%3xEf(;uYWpu>Ff*bI*eg;rn|pL%HXGKm0rea4!X0{M!Ri?n2Nx z@VsvW^pEoZ?_7hOcRuJ5VCRRyCYOUeHyUhjfW^;(eFD4&c-vk8ZGH}X|2^0;l-c7E z;1Bq<|Ah8_2=sd&wAXsj(WeGG1ZckszhD2E!FGjzFI)=k0kT!W&*p`|ZzJ$s1a$%$ zeNi`mfjR??`=H+UJ!r6V{tI;hIQ?;GYk+?~12jSQ3qJw9-fys_Ul^S8;I^m0#_xr? zf<2xM`dfJ?{ChgoDGj=t0``|O*!pJp`{{rWe`}uxI-Uyl4d3Se2KwtrXyaPw!<_~j zek|yEuEB;L2lAY1uYgED}7Kj2-P1zjBvGJ(D91Hac#0yzNx)oY~;q*M1I^h_f_z(-u-@C0up756VUxBiVXwjOyFq`u4dkpp3v8o=u~XQ|>`XS7?Zz%( zbJ%Rw+t|-I#299LpZ$dG%`RbOtdwnK9Lf%1%rJ}+<6D+vSysb_u|3%j*~P3E>tp=N zIMApx%8cWT!;L!Q26jEWmR-Z}~we z*u(g#aj?hmwg)@Ps4_~8!;C+&qm5s)v)JzJB(}eCsPO~V zlkLm)VdbnJJDeTHI#{0V#eT&4u>IKq#z96uqpxuz`xC2V73{}GFXIR{i2cksn`MkU zS%3CdHh`VZh8X{0Z?G5G^X%X3b+(kf$X;XnvBfOGj%G)(q3jpzSFDN+VZUTYvcasH z4P>{mzpy*l?X2AR8Ea)z*fh4iu?u^Jz0Cf}{>~m^53>8%J?wt=0K1F*gWbzMW1q6# z>^b%~_5&ls{>*kaZeeLQnKiK!SR*@;C0R2|v7W{%wyUv=G2Gb1zGly|8e;=n&)#Ay z*-PwAwt}r=BUv45VKdmrY&zS>zGQc^QEW6@%cdH~8s9gXjB&<}##iiBww&!?9L%0% zkFclN<7_u$0eh7Fi+#vGVjr+ZW3=%wdxAa17O{owF}95LFt#_nr%IG&AXo67#nR;QHkTf=_Ch8jO*U$D>FLF^gU#>TKS*skm*b~E_lTUoO)-Z+g_8*Rok zBW<)8(~TKMt8o#lH6|IOj1!Dwj48%MBV|l5lExUL!Wd~BZ`2!;jj;y!&i}L2NS6A0 zc0T(ZJC6-CercS`&S8U$Ba9=BUl@h9;P0_5Yr{LT?b$YLTecJ1neD(Wx(C~iZOtsZ z?r#h*zT39F6&~jEJY~kW_i?$*z9&JW@RNK}arM}g9~A;q5Oco}<|RU6*wdVxSXZis z`(#bCtr+>fi@L_&FcV`?p+PQ5B0G zu`njp%1u#+ZP6r-K}%=F*LmR#bwKP!S!A7hDx)RCy2i@?rV0*#=2@R!&wFQIuPr;zxvo}QJt@Zcj%Av%q& zqQa_1d!F)kHJKMdsXG06sAa|0jW#cu$-bj4pKeVJ$!0UkJtDUd8Z=cDAEa1zgp0Gd z$qWbnnxOMLtK!^AIIXC242qOGB%u%aE8&5)ln7jlpx@TGi=H29Axx1t0wMWXTpHzi zMlr@ySIgk*INY3&oukWAJl~Znl3xp88zf!DV62Yd!4wY-c9W9 zL_MG6$1Sun`oD!pwTki@o_bYOI8i)au;p$eTOw1E*%rxlW#5Zbl%p*tI-OebyHsJj zI=Z2Z5?$4ZT6aY)6m>!)N)DLsf*DwHy9E=ndtH&@Q@o#fu~JWvY8_FBqwCH$)p1KG z?jTzFWQDB`71JRSIP!o(VYwnviGn9il)kw`HBn>VNTXB}0+bT(_)47o<(I!|HR*ep z3iA{4J20L>M-sy0HANw%of;b{%TDWKeU=9fLS zSGD{Kxy;8wRV!-8gO1xV^`Q>m<$6R#aUR>07`rI?p(-?8HciV%BYEf$lL0+FJ+eaA z(|>4+Iy99Q9V%-m`XVcIm5?W>t^JW*bhA{t0aIQrYPeqI>mO(q9%muhpCXOhbI=;r zV0kI2V{edxIoW_Bk$GSNPFNW<%`hNJE(sOaHT3%EN#W~Jfl?pEL2H_*zaTM@J7{Yv z073IlZhB|5sxZ;&UiUmCh(fcQawsg}L0= z?YAlYpIWla1gr!X1G=!38SzObxG(3L_nI9<%pP@L#T-)i)t(i)5Jc8IGgc{hRc-2| z==N7qbo;90+Em`)<$q00-W7z8t;?}W(S?x>M_MUL1 zoD&x41YvAoh42s`!u&=hw3yJTKc;CpoV&pEaHq%-NHV3Np{4W3^wK04LwB$%E65Q@ zGNq%rbQY2_)|lA{fgWFeit|)?zzgC5kCcbXjDbkPDx8rIud87)V)Gnwg%SaR7ApB$ zTzz$Keqd3t{^}_x#*SDn09#>9W=5*50+Ml9-PYn*+15Nd)dY`-WxYZdn)mo}E`~UT zDYkU}FCDS9yCzaJ`Xq2pz@}V`e2aah>E$U^Pv=F3)-@gN9D$G#w-?@J1^`fM0opEZW7SG$hxQY)>_$ zW_IugWx7T#WP)h0h%hgTMo*j_SVBw!6l;!@EG5i4J|SNt@_Up$da{@Z&tMU#{;oCD zBeC$d6gA?&aEuNqmeorhP0vMoecR_rU+!o_(GwlTjwgVz6(SdUT-C`wfsVlIXu|Vq!n$>4ZN3&X7RbuzYE8hwI4A%7QOz@feAdG4K9gxy ziHVeM_|3^*;qh(ycRQt0uB;bO1@}$_aT8ZxURjc+N=A6jA@oge1yPXzdI*0@BIF|~ zfEMK?KtRu>Ja)!kS5~HkdNj$;7yGH2bgr_c1>G6sL6gS^^k0p2Xi9*=^DoI?9Yag| zO;^+Kcx)T2b3n?t7PwojFc2ibREBFPhWuenpv$`IcipGRUE#hre>{& zHtdOwqZ#2|iF#oR#v0hre}{P#IsnHcLuJw;`ZV?nu>vKOZ?#AlGjTx$Fq6d*Wn7D1Xa!M28T*E%C&!!`n(=CKwAh*H?SIbx=jKg;Ha(%v4Hnr?BEZ{{I8 zbI2#SVV|(K)UY8D-3$Q;bW46wgg_wai9SSN3vztZ4!bhZJA|@{{kAZVY{T*+><3Z- z2cI@zmo~SD1ST1GnoHxBD~;Ostq03Mu_%m=g|#T*i&cPa%&>Jf_aLI7E7&<0OkH6f zsFFu{n#Yr22hbXSu>YFRA?qGbMidviu;1`cp>sbO<#}>skkhUFLG7>=waa%w1sg|n zsc5_jksr(I)RZJladO&_%$tb4%Ng9UV2yUt45}4T0$}MErVwkm*+c@1TA7lu_y)c( zB5?!)-OU8=?3u9Ts!G0#nVXSrH~l^LiLO;EPS4{Lu~0*MvdO)4%dycXqLXRLkA%&f zNV<1Q`RuOeW+mIb{Ssv~eIX+F>=N2|dC2O9XIIV9LRMp;)}ZmdXqT+G{;M_+D$JGJ z7esO|tl7GCp?YHnq}OS^)ZolE)Y*twXF-Q&`5-hryO=CM$by(Aub3&Rij=gA&qbl$ zMac5U$BN>R?&id1+$$BQCXJZXu1IYweD17i$$W+TwuqRG^9Pd4Z1W_dLWy0?90avx8YkRf;BwhjZ zYpRM^_jArRoAU7O7h53z5^@zSOu`pPwWX=+%Bb{-3y_o!J>8eHS4deYGo;GP-^qK7 z@EAJ~GLrz=`k_&=Q@D&zj~KuAn62x&Fi8vSMj}L|P+|#*Jdmh;`_fJhW9w1*EHw+M zbRDv$E;d_r@sBxowk5@}d#yp^@zAF~6u`SKo`Qh(%vr zrLB;-h%Pw^DRFb6uODhGtCTH(JO~Xg+HC3!Q!pDNsVj!3b~g_`t|i!=(eqXD zXr8Z_%0^!n%^X*I{V{wIJ-kkl@MvBniG-9I$DBD?iB&A~l`z!7#)IgdxOfn(>49gq zrp1&8N1c40Sl>g<6L)(sFy@kHjV)gUVl^W>Pvod)2JGn#1t-ww!R3#!!xz< zqpm}y=+cuSU+TU^2p&oZ8O~<>i;z6B)GWfRM?irnz1i1y`LPR^CdlpxZm;IoA{tzx z)>@ub#>p!|g%UWa>47|6jaXz;OSqz_KwT=5coam`QyFF?m*qt*bc!L% zU<&=(k41NoYFug#Ar*<#8ePCQ^^iq1bOIu)K)0qLvYE;QF6~K#3Ja6{$Y!gyixPko zYDK`63rOLicxa`w>PpG013DaejX;OvTJmzC*=d2W>lH~6HV>aF**HE`vTuaQ>Mrt9eBioMFliJ9_kCfm@EkrOuzijmtX%^t0!pO=0W6}4=H=VzS zzDFK8@sUcJK=o4fPi^Ft+8pAbbynn3kZ4VxUvQiyMgBnzp|YpC9Vaa0(j`Y=e1 z13h#20aX?D+M)be_17wvd)}sgwWeDEtSmHnkTAQIo1SY9rhfKJbJWkoBwj@bH+IIu?v}yOd9BQ^UC(ai5YV1fk3DK&m$DD!tA72vk?G1&0#0yi z+F%-5Ax(8bevwNi*4Qc3XkPUOEvUPzBBF-T*}3Db!7(p)mqUb)=e8Qh!Oh1^wy`PG zmdmRP=H{19bIH6xUM=@0E|$c7@?BXP^UZo?A%)I;6{-O0Q5@^F(0wiz+b99quxvcd zm14XKYUAiLW7#O0o5YwOOUCgW1jZ~`HbPLYEH@&3Q5CaR*_hzc+`A$LI@oNp(A}n0 zMSPRKnB~G`)v{1qQjlLl9dE%kIAS*i zXV|hxbuG`9T{>j8EgQdmj#q9^Pl}RxOQP&^vfkBIBW2+-IYdgW2p zNs!RpMDu0=Qv?oK%#X9#S(T+r9E$=thb$(Bj~L1F+`2A6zAiY!K zA<{Y+&n@S4=4NqM2-M$VKT@uAqOzJQ%U^}d_GL?wO-=EYLbeK7Apde=?rhnyR4!8f zFH6Xd_K~T4QmHT+pOjS3!K6F@jht$2&%0fbI!jNrB_RjM#LAJiaQeC(vL{VWx1^zr zXWI}*1j+ZN+SI%xfdhuOK$zhoOr|hXF^~XAQJ*=|7B*j4ATKFvSRgJ2=Y2iHg1#Pz zPobOV=Be7pilKE^`<#k(Up6r}&u+;n<}eMJ=LEg|L*yni%ZJZU zW)}!|Er&u^Wa2}vW2k8-Es-^2lA;}Kd1=NKEpwSIN|^j*fykaAq{z9i zH?NsZt16SxB(Snk;2d1E9A|b(&9Vf~LS-XG%XelM)2vlUOCCHkn#W(O%>6T<+04jf z5vXpofmkDzGfD+yI+G5~24E^A<77s2s!vhz^kJb5E0C9^&}T`rS@`Bkv$6a#rrAi^ zfkyH%Io*1XVn5`1k7__rUH?pKrdZMPshNesXH}C5@Fn2y{yMN@AAuRx?8?pdcKWi$ z;r4X4HHipHk1rc0f7L8ax@hP!`Ij}0kckl%L}FA@2_MVq+@w^oojH1I3KOhj>?trb zVn2dWex^Lb+88KA$J*j|h3qx9TMR~(#;*)5bq2*{O509RR-EV9F zIVMEnp|kQyv_%UCknT!`KAQ*Z1LjiNMQ_Nr#S^rE0`4Nb>2oNlJ7cu}kQrm^)m{g5gy$J-J;=$Pf9bEm=F&L

vr*{d4{wJ2v1zOAanH*o}(Y^mIb_j!6 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 F{{R-cCcppy literal 0 HcmV?d00001 diff --git a/json/lib/zlib.exp b/json/lib/zlib.exp new file mode 100644 index 0000000000000000000000000000000000000000..186514604a606399ad0ad6e156c629afdbcf0b10 GIT binary patch literal 9760 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 Y_dAQ)s|Pi$KKYFN-+V^?ci)fy1s~OkcmMzZ literal 0 HcmV?d00001 diff --git a/json/lib/zlib.lib b/json/lib/zlib.lib new file mode 100644 index 0000000000000000000000000000000000000000..b82fa92e474d2997b6a1f1d63dd1929f20c80fce GIT binary patch literal 16638 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 +#include +#include +#include +#include + +// Disable warning C4251: : needs to have dll-interface to +// be used by... +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(push) +#pragma warning(disable : 4251) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#pragma pack(push, 8) + +namespace Json { + +/** \brief Unserialize a JSON document into a + * Value. + * + * \deprecated Use CharReader and CharReaderBuilder. + */ + +class JSON_API Reader { +public: + using Char = char; + using Location = const Char*; + + /** \brief An error tagged with where in the JSON text it was encountered. + * + * The offsets give the [start, limit) range of bytes within the text. Note + * that this is bytes, not codepoints. + */ + struct StructuredError { + ptrdiff_t offset_start; + ptrdiff_t offset_limit; + String message; + }; + + /** \brief Constructs a Reader allowing all features for parsing. + * \deprecated Use CharReader and CharReaderBuilder. + */ + Reader(); + + /** \brief Constructs a Reader allowing the specified feature set for parsing. + * \deprecated Use CharReader and CharReaderBuilder. + */ + Reader(const Features& features); + + /** \brief Read a Value from a JSON + * document. + * + * \param document UTF-8 encoded string containing the document + * to read. + * \param[out] root Contains the root value of the document if it + * was successfully parsed. + * \param collectComments \c true to collect comment and allow writing + * them back during serialization, \c false to + * discard comments. This parameter is ignored + * if Features::allowComments_ is \c false. + * \return \c true if the document was successfully parsed, \c false if an + * error occurred. + */ + bool parse(const std::string& document, Value& root, + bool collectComments = true); + + /** \brief Read a Value from a JSON + * document. + * + * \param beginDoc Pointer on the beginning of the UTF-8 encoded + * string of the document to read. + * \param endDoc Pointer on the end of the UTF-8 encoded string + * of the document to read. Must be >= beginDoc. + * \param[out] root Contains the root value of the document if it + * was successfully parsed. + * \param collectComments \c true to collect comment and allow writing + * them back during serialization, \c false to + * discard comments. This parameter is ignored + * if Features::allowComments_ is \c false. + * \return \c true if the document was successfully parsed, \c false if an + * error occurred. + */ + bool parse(const char* beginDoc, const char* endDoc, Value& root, + bool collectComments = true); + + /// \brief Parse from input stream. + /// \see Json::operator>>(std::istream&, Json::Value&). + bool parse(IStream& is, Value& root, bool collectComments = true); + + /** \brief Returns a user friendly string that list errors in the parsed + * document. + * + * \return Formatted error message with the list of errors with their + * location in the parsed document. An empty string is returned if no error + * occurred during parsing. + * \deprecated Use getFormattedErrorMessages() instead (typo fix). + */ + JSONCPP_DEPRECATED("Use getFormattedErrorMessages() instead.") + String getFormatedErrorMessages() const; + + /** \brief Returns a user friendly string that list errors in the parsed + * document. + * + * \return Formatted error message with the list of errors with their + * location in the parsed document. An empty string is returned if no error + * occurred during parsing. + */ + String getFormattedErrorMessages() const; + + /** \brief Returns a vector of structured errors encountered while parsing. + * + * \return A (possibly empty) vector of StructuredError objects. Currently + * only one error can be returned, but the caller should tolerate multiple + * errors. This can occur if the parser recovers from a non-fatal parse + * error and then encounters additional errors. + */ + std::vector getStructuredErrors() const; + + /** \brief Add a semantic error message. + * + * \param value JSON Value location associated with the error + * \param message The error message. + * \return \c true if the error was successfully added, \c false if the Value + * offset exceeds the document size. + */ + bool pushError(const Value& value, const String& message); + + /** \brief Add a semantic error message with extra context. + * + * \param value JSON Value location associated with the error + * \param message The error message. + * \param extra Additional JSON Value location to contextualize the error + * \return \c true if the error was successfully added, \c false if either + * Value offset exceeds the document size. + */ + bool pushError(const Value& value, const String& message, const Value& extra); + + /** \brief Return whether there are any errors. + * + * \return \c true if there are no errors to report \c false if errors have + * occurred. + */ + bool good() const; + +private: + enum TokenType { + tokenEndOfStream = 0, + tokenObjectBegin, + tokenObjectEnd, + tokenArrayBegin, + tokenArrayEnd, + tokenString, + tokenNumber, + tokenTrue, + tokenFalse, + tokenNull, + tokenArraySeparator, + tokenMemberSeparator, + tokenComment, + tokenError + }; + + class Token { + public: + TokenType type_; + Location start_; + Location end_; + }; + + class ErrorInfo { + public: + Token token_; + String message_; + Location extra_; + }; + + using Errors = std::deque; + + bool readToken(Token& token); + void skipSpaces(); + bool match(const Char* pattern, int patternLength); + bool readComment(); + bool readCStyleComment(); + bool readCppStyleComment(); + bool readString(); + void readNumber(); + bool readValue(); + bool readObject(Token& token); + bool readArray(Token& token); + bool decodeNumber(Token& token); + bool decodeNumber(Token& token, Value& decoded); + bool decodeString(Token& token); + bool decodeString(Token& token, String& decoded); + bool decodeDouble(Token& token); + bool decodeDouble(Token& token, Value& decoded); + bool decodeUnicodeCodePoint(Token& token, Location& current, Location end, + unsigned int& unicode); + bool decodeUnicodeEscapeSequence(Token& token, Location& current, + Location end, unsigned int& unicode); + bool addError(const String& message, Token& token, Location extra = nullptr); + bool recoverFromError(TokenType skipUntilToken); + bool addErrorAndRecover(const String& message, Token& token, + TokenType skipUntilToken); + void skipUntilSpace(); + Value& currentValue(); + Char getNextChar(); + void getLocationLineAndColumn(Location location, int& line, + int& column) const; + String getLocationLineAndColumn(Location location) const; + void addComment(Location begin, Location end, CommentPlacement placement); + void skipCommentTokens(Token& token); + + static bool containsNewLine(Location begin, Location end); + static String normalizeEOL(Location begin, Location end); + + using Nodes = std::stack; + Nodes nodes_; + Errors errors_; + String document_; + Location begin_{}; + Location end_{}; + Location current_{}; + Location lastValueEnd_{}; + Value* lastValue_{}; + String commentsBefore_; + Features features_; + bool collectComments_{}; +}; // Reader + +/** Interface for reading JSON from a char array. + */ +class JSON_API CharReader { +public: + virtual ~CharReader() = default; + /** \brief Read a Value from a JSON + * document. The document must be a UTF-8 encoded string containing the + * document to read. + * + * \param beginDoc Pointer on the beginning of the UTF-8 encoded string + * of the document to read. + * \param endDoc Pointer on the end of the UTF-8 encoded string of the + * document to read. Must be >= beginDoc. + * \param[out] root Contains the root value of the document if it was + * successfully parsed. + * \param[out] errs Formatted error messages (if not NULL) a user + * friendly string that lists errors in the parsed + * document. + * \return \c true if the document was successfully parsed, \c false if an + * error occurred. + */ + virtual bool parse(char const* beginDoc, char const* endDoc, Value* root, + String* errs) = 0; + + class JSON_API Factory { + public: + virtual ~Factory() = default; + /** \brief Allocate a CharReader via operator new(). + * \throw std::exception if something goes wrong (e.g. invalid settings) + */ + virtual CharReader* newCharReader() const = 0; + }; // Factory +}; // CharReader + +/** \brief Build a CharReader implementation. + * + * Usage: + * \code + * using namespace Json; + * CharReaderBuilder builder; + * builder["collectComments"] = false; + * Value value; + * String errs; + * bool ok = parseFromStream(builder, std::cin, &value, &errs); + * \endcode + */ +class JSON_API CharReaderBuilder : public CharReader::Factory { +public: + // Note: We use a Json::Value so that we can add data-members to this class + // without a major version bump. + /** Configuration of this builder. + * These are case-sensitive. + * Available settings (case-sensitive): + * - `"collectComments": false or true` + * - true to collect comment and allow writing them back during + * serialization, false to discard comments. This parameter is ignored + * if allowComments is false. + * - `"allowComments": false or true` + * - true if comments are allowed. + * - `"allowTrailingCommas": false or true` + * - true if trailing commas in objects and arrays are allowed. + * - `"strictRoot": false or true` + * - true if root must be either an array or an object value + * - `"allowDroppedNullPlaceholders": false or true` + * - true if dropped null placeholders are allowed. (See + * StreamWriterBuilder.) + * - `"allowNumericKeys": false or true` + * - true if numeric object keys are allowed. + * - `"allowSingleQuotes": false or true` + * - true if '' are allowed for strings (both keys and values) + * - `"stackLimit": integer` + * - Exceeding stackLimit (recursive depth of `readValue()`) will cause an + * exception. + * - This is a security issue (seg-faults caused by deeply nested JSON), so + * the default is low. + * - `"failIfExtra": false or true` + * - If true, `parse()` returns false when extra non-whitespace trails the + * JSON value in the input string. + * - `"rejectDupKeys": false or true` + * - If true, `parse()` returns false when a key is duplicated within an + * object. + * - `"allowSpecialFloats": false or true` + * - If true, special float values (NaNs and infinities) are allowed and + * their values are lossfree restorable. + * - `"skipBom": false or true` + * - If true, if the input starts with the Unicode byte order mark (BOM), + * it is skipped. + * + * You can examine 'settings_` yourself to see the defaults. You can also + * write and read them just like any JSON Value. + * \sa setDefaults() + */ + Json::Value settings_; + + CharReaderBuilder(); + ~CharReaderBuilder() override; + + CharReader* newCharReader() const override; + + /** \return true if 'settings' are legal and consistent; + * otherwise, indicate bad settings via 'invalid'. + */ + bool validate(Json::Value* invalid) const; + + /** A simple way to update a specific setting. + */ + Value& operator[](const String& key); + + /** Called by ctor, but you can use this to reset settings_. + * \pre 'settings' != NULL (but Json::null is fine) + * \remark Defaults: + * \snippet src/lib_json/json_reader.cpp CharReaderBuilderDefaults + */ + static void setDefaults(Json::Value* settings); + /** Same as old Features::strictMode(). + * \pre 'settings' != NULL (but Json::null is fine) + * \remark Defaults: + * \snippet src/lib_json/json_reader.cpp CharReaderBuilderStrictMode + */ + static void strictMode(Json::Value* settings); +}; + +/** Consume entire stream and use its begin/end. + * Someday we might have a real StreamReader, but for now this + * is convenient. + */ +bool JSON_API parseFromStream(CharReader::Factory const&, IStream&, Value* root, + String* errs); + +/** \brief Read from 'sin' into 'root'. + * + * Always keep comments from the input JSON. + * + * This can be used to read a file into a particular sub-object. + * For example: + * \code + * Json::Value root; + * cin >> root["dir"]["file"]; + * cout << root; + * \endcode + * Result: + * \verbatim + * { + * "dir": { + * "file": { + * // The input stream JSON would be nested here. + * } + * } + * } + * \endverbatim + * \throw std::exception on parse error. + * \see Json::operator<<() + */ +JSON_API IStream& operator>>(IStream&, Value&); + +} // namespace Json + +#pragma pack(pop) + +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(pop) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#endif // JSON_READER_H_INCLUDED diff --git a/json/zlib.exp b/json/zlib.exp new file mode 100644 index 0000000000000000000000000000000000000000..186514604a606399ad0ad6e156c629afdbcf0b10 GIT binary patch literal 9760 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 Y_dAQ)s|Pi$KKYFN-+V^?ci)fy1s~OkcmMzZ literal 0 HcmV?d00001 diff --git a/json/zlib.lib b/json/zlib.lib new file mode 100644 index 0000000000000000000000000000000000000000..b82fa92e474d2997b6a1f1d63dd1929f20c80fce GIT binary patch literal 16638 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

X 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 literal 0 HcmV?d00001 diff --git a/json/include/json/reader.h b/json/include/json/reader.h new file mode 100644 index 0000000..be0d767 --- /dev/null +++ b/json/include/json/reader.h @@ -0,0 +1,405 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_READER_H_INCLUDED +#define JSON_READER_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "json_features.h" +#include "value.h" +#endif // if !defined(JSON_IS_AMALGAMATION) +#include +#include +#include +#include +#include + +// Disable warning C4251: : needs to have dll-interface to +// be used by... +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(push) +#pragma warning(disable : 4251) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#pragma pack(push, 8) + +namespace Json { + +/** \brief Unserialize a JSON document into a + * Value. + * + * \deprecated Use CharReader and CharReaderBuilder. + */ + +class JSON_API Reader { +public: + using Char = char; + using Location = const Char*; + + /** \brief An error tagged with where in the JSON text it was encountered. + * + * The offsets give the [start, limit) range of bytes within the text. Note + * that this is bytes, not codepoints. + */ + struct StructuredError { + ptrdiff_t offset_start; + ptrdiff_t offset_limit; + String message; + }; + + /** \brief Constructs a Reader allowing all features for parsing. + * \deprecated Use CharReader and CharReaderBuilder. + */ + Reader(); + + /** \brief Constructs a Reader allowing the specified feature set for parsing. + * \deprecated Use CharReader and CharReaderBuilder. + */ + Reader(const Features& features); + + /** \brief Read a Value from a JSON + * document. + * + * \param document UTF-8 encoded string containing the document + * to read. + * \param[out] root Contains the root value of the document if it + * was successfully parsed. + * \param collectComments \c true to collect comment and allow writing + * them back during serialization, \c false to + * discard comments. This parameter is ignored + * if Features::allowComments_ is \c false. + * \return \c true if the document was successfully parsed, \c false if an + * error occurred. + */ + bool parse(const std::string& document, Value& root, + bool collectComments = true); + + /** \brief Read a Value from a JSON + * document. + * + * \param beginDoc Pointer on the beginning of the UTF-8 encoded + * string of the document to read. + * \param endDoc Pointer on the end of the UTF-8 encoded string + * of the document to read. Must be >= beginDoc. + * \param[out] root Contains the root value of the document if it + * was successfully parsed. + * \param collectComments \c true to collect comment and allow writing + * them back during serialization, \c false to + * discard comments. This parameter is ignored + * if Features::allowComments_ is \c false. + * \return \c true if the document was successfully parsed, \c false if an + * error occurred. + */ + bool parse(const char* beginDoc, const char* endDoc, Value& root, + bool collectComments = true); + + /// \brief Parse from input stream. + /// \see Json::operator>>(std::istream&, Json::Value&). + bool parse(IStream& is, Value& root, bool collectComments = true); + + /** \brief Returns a user friendly string that list errors in the parsed + * document. + * + * \return Formatted error message with the list of errors with their + * location in the parsed document. An empty string is returned if no error + * occurred during parsing. + * \deprecated Use getFormattedErrorMessages() instead (typo fix). + */ + JSONCPP_DEPRECATED("Use getFormattedErrorMessages() instead.") + String getFormatedErrorMessages() const; + + /** \brief Returns a user friendly string that list errors in the parsed + * document. + * + * \return Formatted error message with the list of errors with their + * location in the parsed document. An empty string is returned if no error + * occurred during parsing. + */ + String getFormattedErrorMessages() const; + + /** \brief Returns a vector of structured errors encountered while parsing. + * + * \return A (possibly empty) vector of StructuredError objects. Currently + * only one error can be returned, but the caller should tolerate multiple + * errors. This can occur if the parser recovers from a non-fatal parse + * error and then encounters additional errors. + */ + std::vector getStructuredErrors() const; + + /** \brief Add a semantic error message. + * + * \param value JSON Value location associated with the error + * \param message The error message. + * \return \c true if the error was successfully added, \c false if the Value + * offset exceeds the document size. + */ + bool pushError(const Value& value, const String& message); + + /** \brief Add a semantic error message with extra context. + * + * \param value JSON Value location associated with the error + * \param message The error message. + * \param extra Additional JSON Value location to contextualize the error + * \return \c true if the error was successfully added, \c false if either + * Value offset exceeds the document size. + */ + bool pushError(const Value& value, const String& message, const Value& extra); + + /** \brief Return whether there are any errors. + * + * \return \c true if there are no errors to report \c false if errors have + * occurred. + */ + bool good() const; + +private: + enum TokenType { + tokenEndOfStream = 0, + tokenObjectBegin, + tokenObjectEnd, + tokenArrayBegin, + tokenArrayEnd, + tokenString, + tokenNumber, + tokenTrue, + tokenFalse, + tokenNull, + tokenArraySeparator, + tokenMemberSeparator, + tokenComment, + tokenError + }; + + class Token { + public: + TokenType type_; + Location start_; + Location end_; + }; + + class ErrorInfo { + public: + Token token_; + String message_; + Location extra_; + }; + + using Errors = std::deque; + + bool readToken(Token& token); + void skipSpaces(); + bool match(const Char* pattern, int patternLength); + bool readComment(); + bool readCStyleComment(); + bool readCppStyleComment(); + bool readString(); + void readNumber(); + bool readValue(); + bool readObject(Token& token); + bool readArray(Token& token); + bool decodeNumber(Token& token); + bool decodeNumber(Token& token, Value& decoded); + bool decodeString(Token& token); + bool decodeString(Token& token, String& decoded); + bool decodeDouble(Token& token); + bool decodeDouble(Token& token, Value& decoded); + bool decodeUnicodeCodePoint(Token& token, Location& current, Location end, + unsigned int& unicode); + bool decodeUnicodeEscapeSequence(Token& token, Location& current, + Location end, unsigned int& unicode); + bool addError(const String& message, Token& token, Location extra = nullptr); + bool recoverFromError(TokenType skipUntilToken); + bool addErrorAndRecover(const String& message, Token& token, + TokenType skipUntilToken); + void skipUntilSpace(); + Value& currentValue(); + Char getNextChar(); + void getLocationLineAndColumn(Location location, int& line, + int& column) const; + String getLocationLineAndColumn(Location location) const; + void addComment(Location begin, Location end, CommentPlacement placement); + void skipCommentTokens(Token& token); + + static bool containsNewLine(Location begin, Location end); + static String normalizeEOL(Location begin, Location end); + + using Nodes = std::stack; + Nodes nodes_; + Errors errors_; + String document_; + Location begin_{}; + Location end_{}; + Location current_{}; + Location lastValueEnd_{}; + Value* lastValue_{}; + String commentsBefore_; + Features features_; + bool collectComments_{}; +}; // Reader + +/** Interface for reading JSON from a char array. + */ +class JSON_API CharReader { +public: + virtual ~CharReader() = default; + /** \brief Read a Value from a JSON + * document. The document must be a UTF-8 encoded string containing the + * document to read. + * + * \param beginDoc Pointer on the beginning of the UTF-8 encoded string + * of the document to read. + * \param endDoc Pointer on the end of the UTF-8 encoded string of the + * document to read. Must be >= beginDoc. + * \param[out] root Contains the root value of the document if it was + * successfully parsed. + * \param[out] errs Formatted error messages (if not NULL) a user + * friendly string that lists errors in the parsed + * document. + * \return \c true if the document was successfully parsed, \c false if an + * error occurred. + */ + virtual bool parse(char const* beginDoc, char const* endDoc, Value* root, + String* errs) = 0; + + class JSON_API Factory { + public: + virtual ~Factory() = default; + /** \brief Allocate a CharReader via operator new(). + * \throw std::exception if something goes wrong (e.g. invalid settings) + */ + virtual CharReader* newCharReader() const = 0; + }; // Factory +}; // CharReader + +/** \brief Build a CharReader implementation. + * + * Usage: + * \code + * using namespace Json; + * CharReaderBuilder builder; + * builder["collectComments"] = false; + * Value value; + * String errs; + * bool ok = parseFromStream(builder, std::cin, &value, &errs); + * \endcode + */ +class JSON_API CharReaderBuilder : public CharReader::Factory { +public: + // Note: We use a Json::Value so that we can add data-members to this class + // without a major version bump. + /** Configuration of this builder. + * These are case-sensitive. + * Available settings (case-sensitive): + * - `"collectComments": false or true` + * - true to collect comment and allow writing them back during + * serialization, false to discard comments. This parameter is ignored + * if allowComments is false. + * - `"allowComments": false or true` + * - true if comments are allowed. + * - `"allowTrailingCommas": false or true` + * - true if trailing commas in objects and arrays are allowed. + * - `"strictRoot": false or true` + * - true if root must be either an array or an object value + * - `"allowDroppedNullPlaceholders": false or true` + * - true if dropped null placeholders are allowed. (See + * StreamWriterBuilder.) + * - `"allowNumericKeys": false or true` + * - true if numeric object keys are allowed. + * - `"allowSingleQuotes": false or true` + * - true if '' are allowed for strings (both keys and values) + * - `"stackLimit": integer` + * - Exceeding stackLimit (recursive depth of `readValue()`) will cause an + * exception. + * - This is a security issue (seg-faults caused by deeply nested JSON), so + * the default is low. + * - `"failIfExtra": false or true` + * - If true, `parse()` returns false when extra non-whitespace trails the + * JSON value in the input string. + * - `"rejectDupKeys": false or true` + * - If true, `parse()` returns false when a key is duplicated within an + * object. + * - `"allowSpecialFloats": false or true` + * - If true, special float values (NaNs and infinities) are allowed and + * their values are lossfree restorable. + * - `"skipBom": false or true` + * - If true, if the input starts with the Unicode byte order mark (BOM), + * it is skipped. + * + * You can examine 'settings_` yourself to see the defaults. You can also + * write and read them just like any JSON Value. + * \sa setDefaults() + */ + Json::Value settings_; + + CharReaderBuilder(); + ~CharReaderBuilder() override; + + CharReader* newCharReader() const override; + + /** \return true if 'settings' are legal and consistent; + * otherwise, indicate bad settings via 'invalid'. + */ + bool validate(Json::Value* invalid) const; + + /** A simple way to update a specific setting. + */ + Value& operator[](const String& key); + + /** Called by ctor, but you can use this to reset settings_. + * \pre 'settings' != NULL (but Json::null is fine) + * \remark Defaults: + * \snippet src/lib_json/json_reader.cpp CharReaderBuilderDefaults + */ + static void setDefaults(Json::Value* settings); + /** Same as old Features::strictMode(). + * \pre 'settings' != NULL (but Json::null is fine) + * \remark Defaults: + * \snippet src/lib_json/json_reader.cpp CharReaderBuilderStrictMode + */ + static void strictMode(Json::Value* settings); +}; + +/** Consume entire stream and use its begin/end. + * Someday we might have a real StreamReader, but for now this + * is convenient. + */ +bool JSON_API parseFromStream(CharReader::Factory const&, IStream&, Value* root, + String* errs); + +/** \brief Read from 'sin' into 'root'. + * + * Always keep comments from the input JSON. + * + * This can be used to read a file into a particular sub-object. + * For example: + * \code + * Json::Value root; + * cin >> root["dir"]["file"]; + * cout << root; + * \endcode + * Result: + * \verbatim + * { + * "dir": { + * "file": { + * // The input stream JSON would be nested here. + * } + * } + * } + * \endverbatim + * \throw std::exception on parse error. + * \see Json::operator<<() + */ +JSON_API IStream& operator>>(IStream&, Value&); + +} // namespace Json + +#pragma pack(pop) + +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(pop) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#endif // JSON_READER_H_INCLUDED diff --git a/json/include/json/value.h b/json/include/json/value.h new file mode 100644 index 0000000..0edeb05 --- /dev/null +++ b/json/include/json/value.h @@ -0,0 +1,935 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_H_INCLUDED +#define JSON_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "forwards.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +// Conditional NORETURN attribute on the throw functions would: +// a) suppress false positives from static code analysis +// b) possibly improve optimization opportunities. +#if !defined(JSONCPP_NORETURN) +#if defined(_MSC_VER) && _MSC_VER == 1800 +#define JSONCPP_NORETURN __declspec(noreturn) +#else +#define JSONCPP_NORETURN [[noreturn]] +#endif +#endif + +// Support for '= delete' with template declarations was a late addition +// to the c++11 standard and is rejected by clang 3.8 and Apple clang 8.2 +// even though these declare themselves to be c++11 compilers. +#if !defined(JSONCPP_TEMPLATE_DELETE) +#if defined(__clang__) && defined(__apple_build_version__) +#if __apple_build_version__ <= 8000042 +#define JSONCPP_TEMPLATE_DELETE +#endif +#elif defined(__clang__) +#if __clang_major__ == 3 && __clang_minor__ <= 8 +#define JSONCPP_TEMPLATE_DELETE +#endif +#endif +#if !defined(JSONCPP_TEMPLATE_DELETE) +#define JSONCPP_TEMPLATE_DELETE = delete +#endif +#endif + +#include +#include +#include +#include +#include +#include + +// Disable warning C4251: : needs to have dll-interface to +// be used by... +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(push) +#pragma warning(disable : 4251 4275) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#pragma pack(push, 8) + +/** \brief JSON (JavaScript Object Notation). + */ +namespace Json { + +#if JSON_USE_EXCEPTION +/** Base class for all exceptions we throw. + * + * We use nothing but these internally. Of course, STL can throw others. + */ +class JSON_API Exception : public std::exception { +public: + Exception(String msg); + ~Exception() noexcept override; + char const* what() const noexcept override; + +protected: + String msg_; +}; + +/** Exceptions which the user cannot easily avoid. + * + * E.g. out-of-memory (when we use malloc), stack-overflow, malicious input + * + * \remark derived from Json::Exception + */ +class JSON_API RuntimeError : public Exception { +public: + RuntimeError(String const& msg); +}; + +/** Exceptions thrown by JSON_ASSERT/JSON_FAIL macros. + * + * These are precondition-violations (user bugs) and internal errors (our bugs). + * + * \remark derived from Json::Exception + */ +class JSON_API LogicError : public Exception { +public: + LogicError(String const& msg); +}; +#endif + +/// used internally +JSONCPP_NORETURN void throwRuntimeError(String const& msg); +/// used internally +JSONCPP_NORETURN void throwLogicError(String const& msg); + +/** \brief Type of the value held by a Value object. + */ +enum ValueType { + nullValue = 0, ///< 'null' value + intValue, ///< signed integer value + uintValue, ///< unsigned integer value + realValue, ///< double value + stringValue, ///< UTF-8 string value + booleanValue, ///< bool value + arrayValue, ///< array value (ordered list) + objectValue ///< object value (collection of name/value pairs). +}; + +enum CommentPlacement { + commentBefore = 0, ///< a comment placed on the line before a value + commentAfterOnSameLine, ///< a comment just after a value on the same line + commentAfter, ///< a comment on the line after a value (only make sense for + /// root value) + numberOfCommentPlacement +}; + +/** \brief Type of precision for formatting of real values. + */ +enum PrecisionType { + significantDigits = 0, ///< we set max number of significant digits in string + decimalPlaces ///< we set max number of digits after "." in string +}; + +/** \brief Lightweight wrapper to tag static string. + * + * Value constructor and objectValue member assignment takes advantage of the + * StaticString and avoid the cost of string duplication when storing the + * string or the member name. + * + * Example of usage: + * \code + * Json::Value aValue( StaticString("some text") ); + * Json::Value object; + * static const StaticString code("code"); + * object[code] = 1234; + * \endcode + */ +class JSON_API StaticString { +public: + explicit StaticString(const char* czstring) : c_str_(czstring) {} + + operator const char*() const { return c_str_; } + + const char* c_str() const { return c_str_; } + +private: + const char* c_str_; +}; + +/** \brief Represents a JSON value. + * + * This class is a discriminated union wrapper that can represents a: + * - signed integer [range: Value::minInt - Value::maxInt] + * - unsigned integer (range: 0 - Value::maxUInt) + * - double + * - UTF-8 string + * - boolean + * - 'null' + * - an ordered list of Value + * - collection of name/value pairs (javascript object) + * + * The type of the held value is represented by a #ValueType and + * can be obtained using type(). + * + * Values of an #objectValue or #arrayValue can be accessed using operator[]() + * methods. + * Non-const methods will automatically create the a #nullValue element + * if it does not exist. + * The sequence of an #arrayValue will be automatically resized and initialized + * with #nullValue. resize() can be used to enlarge or truncate an #arrayValue. + * + * The get() methods can be used to obtain default value in the case the + * required element does not exist. + * + * It is possible to iterate over the list of member keys of an object using + * the getMemberNames() method. + * + * \note #Value string-length fit in size_t, but keys must be < 2^30. + * (The reason is an implementation detail.) A #CharReader will raise an + * exception if a bound is exceeded to avoid security holes in your app, + * but the Value API does *not* check bounds. That is the responsibility + * of the caller. + */ +class JSON_API Value { + friend class ValueIteratorBase; + +public: + using Members = std::vector; + using iterator = ValueIterator; + using const_iterator = ValueConstIterator; + using UInt = Json::UInt; + using Int = Json::Int; +#if defined(JSON_HAS_INT64) + using UInt64 = Json::UInt64; + using Int64 = Json::Int64; +#endif // defined(JSON_HAS_INT64) + using LargestInt = Json::LargestInt; + using LargestUInt = Json::LargestUInt; + using ArrayIndex = Json::ArrayIndex; + + // Required for boost integration, e. g. BOOST_TEST + using value_type = std::string; + +#if JSON_USE_NULLREF + // Binary compatibility kludges, do not use. + static const Value& null; + static const Value& nullRef; +#endif + + // null and nullRef are deprecated, use this instead. + static Value const& nullSingleton(); + + /// Minimum signed integer value that can be stored in a Json::Value. + static constexpr LargestInt minLargestInt = + LargestInt(~(LargestUInt(-1) / 2)); + /// Maximum signed integer value that can be stored in a Json::Value. + static constexpr LargestInt maxLargestInt = LargestInt(LargestUInt(-1) / 2); + /// Maximum unsigned integer value that can be stored in a Json::Value. + static constexpr LargestUInt maxLargestUInt = LargestUInt(-1); + + /// Minimum signed int value that can be stored in a Json::Value. + static constexpr Int minInt = Int(~(UInt(-1) / 2)); + /// Maximum signed int value that can be stored in a Json::Value. + static constexpr Int maxInt = Int(UInt(-1) / 2); + /// Maximum unsigned int value that can be stored in a Json::Value. + static constexpr UInt maxUInt = UInt(-1); + +#if defined(JSON_HAS_INT64) + /// Minimum signed 64 bits int value that can be stored in a Json::Value. + static constexpr Int64 minInt64 = Int64(~(UInt64(-1) / 2)); + /// Maximum signed 64 bits int value that can be stored in a Json::Value. + static constexpr Int64 maxInt64 = Int64(UInt64(-1) / 2); + /// Maximum unsigned 64 bits int value that can be stored in a Json::Value. + static constexpr UInt64 maxUInt64 = UInt64(-1); +#endif // defined(JSON_HAS_INT64) + /// Default precision for real value for string representation. + static constexpr UInt defaultRealPrecision = 17; + // The constant is hard-coded because some compiler have trouble + // converting Value::maxUInt64 to a double correctly (AIX/xlC). + // Assumes that UInt64 is a 64 bits integer. + static constexpr double maxUInt64AsDouble = 18446744073709551615.0; +// Workaround for bug in the NVIDIAs CUDA 9.1 nvcc compiler +// when using gcc and clang backend compilers. CZString +// cannot be defined as private. See issue #486 +#ifdef __NVCC__ +public: +#else +private: +#endif +#ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION + class CZString { + public: + enum DuplicationPolicy { noDuplication = 0, duplicate, duplicateOnCopy }; + CZString(ArrayIndex index); + CZString(char const* str, unsigned length, DuplicationPolicy allocate); + CZString(CZString const& other); + CZString(CZString&& other) noexcept; + ~CZString(); + CZString& operator=(const CZString& other); + CZString& operator=(CZString&& other) noexcept; + + bool operator<(CZString const& other) const; + bool operator==(CZString const& other) const; + ArrayIndex index() const; + // const char* c_str() const; ///< \deprecated + char const* data() const; + unsigned length() const; + bool isStaticString() const; + + private: + void swap(CZString& other); + + struct StringStorage { + unsigned policy_ : 2; + unsigned length_ : 30; // 1GB max + }; + + char const* cstr_; // actually, a prefixed string, unless policy is noDup + union { + ArrayIndex index_; + StringStorage storage_; + }; + }; + +public: + typedef std::map ObjectValues; +#endif // ifndef JSONCPP_DOC_EXCLUDE_IMPLEMENTATION + +public: + /** + * \brief Create a default Value of the given type. + * + * This is a very useful constructor. + * To create an empty array, pass arrayValue. + * To create an empty object, pass objectValue. + * Another Value can then be set to this one by assignment. + * This is useful since clear() and resize() will not alter types. + * + * Examples: + * \code + * Json::Value null_value; // null + * Json::Value arr_value(Json::arrayValue); // [] + * Json::Value obj_value(Json::objectValue); // {} + * \endcode + */ + Value(ValueType type = nullValue); + Value(Int value); + Value(UInt value); +#if defined(JSON_HAS_INT64) + Value(Int64 value); + Value(UInt64 value); +#endif // if defined(JSON_HAS_INT64) + Value(double value); + Value(const char* value); ///< Copy til first 0. (NULL causes to seg-fault.) + Value(const char* begin, const char* end); ///< Copy all, incl zeroes. + /** + * \brief Constructs a value from a static string. + * + * Like other value string constructor but do not duplicate the string for + * internal storage. The given string must remain alive after the call to + * this constructor. + * + * \note This works only for null-terminated strings. (We cannot change the + * size of this class, so we have nowhere to store the length, which might be + * computed later for various operations.) + * + * Example of usage: + * \code + * static StaticString foo("some text"); + * Json::Value aValue(foo); + * \endcode + */ + Value(const StaticString& value); + Value(const String& value); + Value(bool value); + Value(std::nullptr_t ptr) = delete; + Value(const Value& other); + Value(Value&& other) noexcept; + ~Value(); + + /// \note Overwrite existing comments. To preserve comments, use + /// #swapPayload(). + Value& operator=(const Value& other); + Value& operator=(Value&& other) noexcept; + + /// Swap everything. + void swap(Value& other); + /// Swap values but leave comments and source offsets in place. + void swapPayload(Value& other); + + /// copy everything. + void copy(const Value& other); + /// copy values but leave comments and source offsets in place. + void copyPayload(const Value& other); + + ValueType type() const; + + /// Compare payload only, not comments etc. + bool operator<(const Value& other) const; + bool operator<=(const Value& other) const; + bool operator>=(const Value& other) const; + bool operator>(const Value& other) const; + bool operator==(const Value& other) const; + bool operator!=(const Value& other) const; + int compare(const Value& other) const; + + const char* asCString() const; ///< Embedded zeroes could cause you trouble! +#if JSONCPP_USING_SECURE_MEMORY + unsigned getCStringLength() const; // Allows you to understand the length of + // the CString +#endif + String asString() const; ///< Embedded zeroes are possible. + /** Get raw char* of string-value. + * \return false if !string. (Seg-fault if str or end are NULL.) + */ + bool getString(char const** begin, char const** end) const; + Int asInt() const; + UInt asUInt() const; +#if defined(JSON_HAS_INT64) + Int64 asInt64() const; + UInt64 asUInt64() const; +#endif // if defined(JSON_HAS_INT64) + LargestInt asLargestInt() const; + LargestUInt asLargestUInt() const; + float asFloat() const; + double asDouble() const; + bool asBool() const; + + bool isNull() const; + bool isBool() const; + bool isInt() const; + bool isInt64() const; + bool isUInt() const; + bool isUInt64() const; + bool isIntegral() const; + bool isDouble() const; + bool isNumeric() const; + bool isString() const; + bool isArray() const; + bool isObject() const; + + /// The `as` and `is` member function templates and specializations. + template T as() const JSONCPP_TEMPLATE_DELETE; + template bool is() const JSONCPP_TEMPLATE_DELETE; + + bool isConvertibleTo(ValueType other) const; + + /// Number of values in array or object + ArrayIndex size() const; + + /// \brief Return true if empty array, empty object, or null; + /// otherwise, false. + bool empty() const; + + /// Return !isNull() + explicit operator bool() const; + + /// Remove all object members and array elements. + /// \pre type() is arrayValue, objectValue, or nullValue + /// \post type() is unchanged + void clear(); + + /// Resize the array to newSize elements. + /// New elements are initialized to null. + /// May only be called on nullValue or arrayValue. + /// \pre type() is arrayValue or nullValue + /// \post type() is arrayValue + void resize(ArrayIndex newSize); + + //@{ + /// Access an array element (zero based index). If the array contains less + /// than index element, then null value are inserted in the array so that + /// its size is index+1. + /// (You may need to say 'value[0u]' to get your compiler to distinguish + /// this from the operator[] which takes a string.) + Value& operator[](ArrayIndex index); + Value& operator[](int index); + //@} + + //@{ + /// Access an array element (zero based index). + /// (You may need to say 'value[0u]' to get your compiler to distinguish + /// this from the operator[] which takes a string.) + const Value& operator[](ArrayIndex index) const; + const Value& operator[](int index) const; + //@} + + /// If the array contains at least index+1 elements, returns the element + /// value, otherwise returns defaultValue. + Value get(ArrayIndex index, const Value& defaultValue) const; + /// Return true if index < size(). + bool isValidIndex(ArrayIndex index) const; + /// \brief Append value to array at the end. + /// + /// Equivalent to jsonvalue[jsonvalue.size()] = value; + Value& append(const Value& value); + Value& append(Value&& value); + + /// \brief Insert value in array at specific index + bool insert(ArrayIndex index, const Value& newValue); + bool insert(ArrayIndex index, Value&& newValue); + + /// Access an object value by name, create a null member if it does not exist. + /// \note Because of our implementation, keys are limited to 2^30 -1 chars. + /// Exceeding that will cause an exception. + Value& operator[](const char* key); + /// Access an object value by name, returns null if there is no member with + /// that name. + const Value& operator[](const char* key) const; + /// Access an object value by name, create a null member if it does not exist. + /// \param key may contain embedded nulls. + Value& operator[](const String& key); + /// Access an object value by name, returns null if there is no member with + /// that name. + /// \param key may contain embedded nulls. + const Value& operator[](const String& key) const; + /** \brief Access an object value by name, create a null member if it does not + * exist. + * + * If the object has no entry for that name, then the member name used to + * store the new entry is not duplicated. + * Example of use: + * \code + * Json::Value object; + * static const StaticString code("code"); + * object[code] = 1234; + * \endcode + */ + Value& operator[](const StaticString& key); + /// Return the member named key if it exist, defaultValue otherwise. + /// \note deep copy + Value get(const char* key, const Value& defaultValue) const; + /// Return the member named key if it exist, defaultValue otherwise. + /// \note deep copy + /// \note key may contain embedded nulls. + Value get(const char* begin, const char* end, + const Value& defaultValue) const; + /// Return the member named key if it exist, defaultValue otherwise. + /// \note deep copy + /// \param key may contain embedded nulls. + Value get(const String& key, const Value& defaultValue) const; + /// Most general and efficient version of isMember()const, get()const, + /// and operator[]const + /// \note As stated elsewhere, behavior is undefined if (end-begin) >= 2^30 + Value const* find(char const* begin, char const* end) const; + /// Most general and efficient version of object-mutators. + /// \note As stated elsewhere, behavior is undefined if (end-begin) >= 2^30 + /// \return non-zero, but JSON_ASSERT if this is neither object nor nullValue. + Value* demand(char const* begin, char const* end); + /// \brief Remove and return the named member. + /// + /// Do nothing if it did not exist. + /// \pre type() is objectValue or nullValue + /// \post type() is unchanged + void removeMember(const char* key); + /// Same as removeMember(const char*) + /// \param key may contain embedded nulls. + void removeMember(const String& key); + /// Same as removeMember(const char* begin, const char* end, Value* removed), + /// but 'key' is null-terminated. + bool removeMember(const char* key, Value* removed); + /** \brief Remove the named map member. + * + * Update 'removed' iff removed. + * \param key may contain embedded nulls. + * \return true iff removed (no exceptions) + */ + bool removeMember(String const& key, Value* removed); + /// Same as removeMember(String const& key, Value* removed) + bool removeMember(const char* begin, const char* end, Value* removed); + /** \brief Remove the indexed array element. + * + * O(n) expensive operations. + * Update 'removed' iff removed. + * \return true if removed (no exceptions) + */ + bool removeIndex(ArrayIndex index, Value* removed); + + /// Return true if the object has a member named key. + /// \note 'key' must be null-terminated. + bool isMember(const char* key) const; + /// Return true if the object has a member named key. + /// \param key may contain embedded nulls. + bool isMember(const String& key) const; + /// Same as isMember(String const& key)const + bool isMember(const char* begin, const char* end) const; + + /// \brief Return a list of the member names. + /// + /// If null, return an empty list. + /// \pre type() is objectValue or nullValue + /// \post if type() was nullValue, it remains nullValue + Members getMemberNames() const; + + /// \deprecated Always pass len. + JSONCPP_DEPRECATED("Use setComment(String const&) instead.") + void setComment(const char* comment, CommentPlacement placement) { + setComment(String(comment, strlen(comment)), placement); + } + /// Comments must be //... or /* ... */ + void setComment(const char* comment, size_t len, CommentPlacement placement) { + setComment(String(comment, len), placement); + } + /// Comments must be //... or /* ... */ + void setComment(String comment, CommentPlacement placement); + bool hasComment(CommentPlacement placement) const; + /// Include delimiters and embedded newlines. + String getComment(CommentPlacement placement) const; + + String toStyledString() const; + + const_iterator begin() const; + const_iterator end() const; + + iterator begin(); + iterator end(); + + // Accessors for the [start, limit) range of bytes within the JSON text from + // which this value was parsed, if any. + void setOffsetStart(ptrdiff_t start); + void setOffsetLimit(ptrdiff_t limit); + ptrdiff_t getOffsetStart() const; + ptrdiff_t getOffsetLimit() const; + +private: + void setType(ValueType v) { + bits_.value_type_ = static_cast(v); + } + bool isAllocated() const { return bits_.allocated_; } + void setIsAllocated(bool v) { bits_.allocated_ = v; } + + void initBasic(ValueType type, bool allocated = false); + void dupPayload(const Value& other); + void releasePayload(); + void dupMeta(const Value& other); + + Value& resolveReference(const char* key); + Value& resolveReference(const char* key, const char* end); + + // struct MemberNamesTransform + //{ + // typedef const char *result_type; + // const char *operator()( const CZString &name ) const + // { + // return name.c_str(); + // } + //}; + + union ValueHolder { + LargestInt int_; + LargestUInt uint_; + double real_; + bool bool_; + char* string_; // if allocated_, ptr to { unsigned, char[] }. + ObjectValues* map_; + } value_; + + struct { + // Really a ValueType, but types should agree for bitfield packing. + unsigned int value_type_ : 8; + // Unless allocated_, string_ must be null-terminated. + unsigned int allocated_ : 1; + } bits_; + + class Comments { + public: + Comments() = default; + Comments(const Comments& that); + Comments(Comments&& that) noexcept; + Comments& operator=(const Comments& that); + Comments& operator=(Comments&& that) noexcept; + bool has(CommentPlacement slot) const; + String get(CommentPlacement slot) const; + void set(CommentPlacement slot, String comment); + + private: + using Array = std::array; + std::unique_ptr ptr_; + }; + Comments comments_; + + // [start, limit) byte offsets in the source JSON text from which this Value + // was extracted. + ptrdiff_t start_; + ptrdiff_t limit_; +}; + +template <> inline bool Value::as() const { return asBool(); } +template <> inline bool Value::is() const { return isBool(); } + +template <> inline Int Value::as() const { return asInt(); } +template <> inline bool Value::is() const { return isInt(); } + +template <> inline UInt Value::as() const { return asUInt(); } +template <> inline bool Value::is() const { return isUInt(); } + +#if defined(JSON_HAS_INT64) +template <> inline Int64 Value::as() const { return asInt64(); } +template <> inline bool Value::is() const { return isInt64(); } + +template <> inline UInt64 Value::as() const { return asUInt64(); } +template <> inline bool Value::is() const { return isUInt64(); } +#endif + +template <> inline double Value::as() const { return asDouble(); } +template <> inline bool Value::is() const { return isDouble(); } + +template <> inline String Value::as() const { return asString(); } +template <> inline bool Value::is() const { return isString(); } + +/// These `as` specializations are type conversions, and do not have a +/// corresponding `is`. +template <> inline float Value::as() const { return asFloat(); } +template <> inline const char* Value::as() const { + return asCString(); +} + +/** \brief Experimental and untested: represents an element of the "path" to + * access a node. + */ +class JSON_API PathArgument { +public: + friend class Path; + + PathArgument(); + PathArgument(ArrayIndex index); + PathArgument(const char* key); + PathArgument(String key); + +private: + enum Kind { kindNone = 0, kindIndex, kindKey }; + String key_; + ArrayIndex index_{}; + Kind kind_{kindNone}; +}; + +/** \brief Experimental and untested: represents a "path" to access a node. + * + * Syntax: + * - "." => root node + * - ".[n]" => elements at index 'n' of root node (an array value) + * - ".name" => member named 'name' of root node (an object value) + * - ".name1.name2.name3" + * - ".[0][1][2].name1[3]" + * - ".%" => member name is provided as parameter + * - ".[%]" => index is provided as parameter + */ +class JSON_API Path { +public: + Path(const String& path, const PathArgument& a1 = PathArgument(), + const PathArgument& a2 = PathArgument(), + const PathArgument& a3 = PathArgument(), + const PathArgument& a4 = PathArgument(), + const PathArgument& a5 = PathArgument()); + + const Value& resolve(const Value& root) const; + Value resolve(const Value& root, const Value& defaultValue) const; + /// Creates the "path" to access the specified node and returns a reference on + /// the node. + Value& make(Value& root) const; + +private: + using InArgs = std::vector; + using Args = std::vector; + + void makePath(const String& path, const InArgs& in); + void addPathInArg(const String& path, const InArgs& in, + InArgs::const_iterator& itInArg, PathArgument::Kind kind); + static void invalidPath(const String& path, int location); + + Args args_; +}; + +/** \brief base class for Value iterators. + * + */ +class JSON_API ValueIteratorBase { +public: + using iterator_category = std::bidirectional_iterator_tag; + using size_t = unsigned int; + using difference_type = int; + using SelfType = ValueIteratorBase; + + bool operator==(const SelfType& other) const { return isEqual(other); } + + bool operator!=(const SelfType& other) const { return !isEqual(other); } + + difference_type operator-(const SelfType& other) const { + return other.computeDistance(*this); + } + + /// Return either the index or the member name of the referenced value as a + /// Value. + Value key() const; + + /// Return the index of the referenced Value, or -1 if it is not an + /// arrayValue. + UInt index() const; + + /// Return the member name of the referenced Value, or "" if it is not an + /// objectValue. + /// \note Avoid `c_str()` on result, as embedded zeroes are possible. + String name() const; + + /// Return the member name of the referenced Value. "" if it is not an + /// objectValue. + /// \deprecated This cannot be used for UTF-8 strings, since there can be + /// embedded nulls. + JSONCPP_DEPRECATED("Use `key = name();` instead.") + char const* memberName() const; + /// Return the member name of the referenced Value, or NULL if it is not an + /// objectValue. + /// \note Better version than memberName(). Allows embedded nulls. + char const* memberName(char const** end) const; + +protected: + /*! Internal utility functions to assist with implementing + * other iterator functions. The const and non-const versions + * of the "deref" protected methods expose the protected + * current_ member variable in a way that can often be + * optimized away by the compiler. + */ + const Value& deref() const; + Value& deref(); + + void increment(); + + void decrement(); + + difference_type computeDistance(const SelfType& other) const; + + bool isEqual(const SelfType& other) const; + + void copy(const SelfType& other); + +private: + Value::ObjectValues::iterator current_; + // Indicates that iterator is for a null value. + bool isNull_{true}; + +public: + // For some reason, BORLAND needs these at the end, rather + // than earlier. No idea why. + ValueIteratorBase(); + explicit ValueIteratorBase(const Value::ObjectValues::iterator& current); +}; + +/** \brief const iterator for object and array value. + * + */ +class JSON_API ValueConstIterator : public ValueIteratorBase { + friend class Value; + +public: + using value_type = const Value; + // typedef unsigned int size_t; + // typedef int difference_type; + using reference = const Value&; + using pointer = const Value*; + using SelfType = ValueConstIterator; + + ValueConstIterator(); + ValueConstIterator(ValueIterator const& other); + +private: + /*! \internal Use by Value to create an iterator. + */ + explicit ValueConstIterator(const Value::ObjectValues::iterator& current); + +public: + SelfType& operator=(const ValueIteratorBase& other); + + SelfType operator++(int) { + SelfType temp(*this); + ++*this; + return temp; + } + + SelfType operator--(int) { + SelfType temp(*this); + --*this; + return temp; + } + + SelfType& operator--() { + decrement(); + return *this; + } + + SelfType& operator++() { + increment(); + return *this; + } + + reference operator*() const { return deref(); } + + pointer operator->() const { return &deref(); } +}; + +/** \brief Iterator for object and array value. + */ +class JSON_API ValueIterator : public ValueIteratorBase { + friend class Value; + +public: + using value_type = Value; + using size_t = unsigned int; + using difference_type = int; + using reference = Value&; + using pointer = Value*; + using SelfType = ValueIterator; + + ValueIterator(); + explicit ValueIterator(const ValueConstIterator& other); + ValueIterator(const ValueIterator& other); + +private: + /*! \internal Use by Value to create an iterator. + */ + explicit ValueIterator(const Value::ObjectValues::iterator& current); + +public: + SelfType& operator=(const SelfType& other); + + SelfType operator++(int) { + SelfType temp(*this); + ++*this; + return temp; + } + + SelfType operator--(int) { + SelfType temp(*this); + --*this; + return temp; + } + + SelfType& operator--() { + decrement(); + return *this; + } + + SelfType& operator++() { + increment(); + return *this; + } + + /*! The return value of non-const iterators can be + * changed, so the these functions are not const + * because the returned references/pointers can be used + * to change state of the base class. + */ + reference operator*() const { return const_cast(deref()); } + pointer operator->() const { return const_cast(&deref()); } +}; + +inline void swap(Value& a, Value& b) { a.swap(b); } + +} // namespace Json + +#pragma pack(pop) + +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(pop) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#endif // JSON_H_INCLUDED diff --git a/json/include/json/version.h b/json/include/json/version.h new file mode 100644 index 0000000..e931d03 --- /dev/null +++ b/json/include/json/version.h @@ -0,0 +1,28 @@ +#ifndef JSON_VERSION_H_INCLUDED +#define JSON_VERSION_H_INCLUDED + +// Note: version must be updated in three places when doing a release. This +// annoying process ensures that amalgamate, CMake, and meson all report the +// correct version. +// 1. /meson.build +// 2. /include/json/version.h +// 3. /CMakeLists.txt +// IMPORTANT: also update the SOVERSION!! + +#define JSONCPP_VERSION_STRING "1.9.5" +#define JSONCPP_VERSION_MAJOR 1 +#define JSONCPP_VERSION_MINOR 9 +#define JSONCPP_VERSION_PATCH 5 +#define JSONCPP_VERSION_QUALIFIER +#define JSONCPP_VERSION_HEXA \ + ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \ + (JSONCPP_VERSION_PATCH << 8)) + +#ifdef JSONCPP_USING_SECURE_MEMORY +#undef JSONCPP_USING_SECURE_MEMORY +#endif +#define JSONCPP_USING_SECURE_MEMORY 0 +// If non-zero, the library zeroes any memory that it has allocated before +// it frees its memory. + +#endif // JSON_VERSION_H_INCLUDED diff --git a/json/include/json/writer.h b/json/include/json/writer.h new file mode 100644 index 0000000..88a3b12 --- /dev/null +++ b/json/include/json/writer.h @@ -0,0 +1,369 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_WRITER_H_INCLUDED +#define JSON_WRITER_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "value.h" +#endif // if !defined(JSON_IS_AMALGAMATION) +#include +#include +#include + +// Disable warning C4251: : needs to have dll-interface to +// be used by... +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) && defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable : 4251) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#pragma pack(push, 8) + +namespace Json { + +class Value; + +/** + * + * Usage: + * \code + * using namespace Json; + * void writeToStdout(StreamWriter::Factory const& factory, Value const& value) + * { std::unique_ptr const writer( factory.newStreamWriter()); + * writer->write(value, &std::cout); + * std::cout << std::endl; // add lf and flush + * } + * \endcode + */ +class JSON_API StreamWriter { +protected: + OStream* sout_; // not owned; will not delete +public: + StreamWriter(); + virtual ~StreamWriter(); + /** Write Value into document as configured in sub-class. + * Do not take ownership of sout, but maintain a reference during function. + * \pre sout != NULL + * \return zero on success (For now, we always return zero, so check the + * stream instead.) \throw std::exception possibly, depending on + * configuration + */ + virtual int write(Value const& root, OStream* sout) = 0; + + /** \brief A simple abstract factory. + */ + class JSON_API Factory { + public: + virtual ~Factory(); + /** \brief Allocate a CharReader via operator new(). + * \throw std::exception if something goes wrong (e.g. invalid settings) + */ + virtual StreamWriter* newStreamWriter() const = 0; + }; // Factory +}; // StreamWriter + +/** \brief Write into stringstream, then return string, for convenience. + * A StreamWriter will be created from the factory, used, and then deleted. + */ +String JSON_API writeString(StreamWriter::Factory const& factory, + Value const& root); + +/** \brief Build a StreamWriter implementation. + +* Usage: +* \code +* using namespace Json; +* Value value = ...; +* StreamWriterBuilder builder; +* builder["commentStyle"] = "None"; +* builder["indentation"] = " "; // or whatever you like +* std::unique_ptr writer( +* builder.newStreamWriter()); +* writer->write(value, &std::cout); +* std::cout << std::endl; // add lf and flush +* \endcode +*/ +class JSON_API StreamWriterBuilder : public StreamWriter::Factory { +public: + // Note: We use a Json::Value so that we can add data-members to this class + // without a major version bump. + /** Configuration of this builder. + * Available settings (case-sensitive): + * - "commentStyle": "None" or "All" + * - "indentation": "". + * - Setting this to an empty string also omits newline characters. + * - "enableYAMLCompatibility": false or true + * - slightly change the whitespace around colons + * - "dropNullPlaceholders": false or true + * - Drop the "null" string from the writer's output for nullValues. + * Strictly speaking, this is not valid JSON. But when the output is being + * fed to a browser's JavaScript, it makes for smaller output and the + * browser can handle the output just fine. + * - "useSpecialFloats": false or true + * - If true, outputs non-finite floating point values in the following way: + * NaN values as "NaN", positive infinity as "Infinity", and negative + * infinity as "-Infinity". + * - "precision": int + * - Number of precision digits for formatting of real values. + * - "precisionType": "significant"(default) or "decimal" + * - Type of precision for formatting of real values. + * - "emitUTF8": false or true + * - If true, outputs raw UTF8 strings instead of escaping them. + + * You can examine 'settings_` yourself + * to see the defaults. You can also write and read them just like any + * JSON Value. + * \sa setDefaults() + */ + Json::Value settings_; + + StreamWriterBuilder(); + ~StreamWriterBuilder() override; + + /** + * \throw std::exception if something goes wrong (e.g. invalid settings) + */ + StreamWriter* newStreamWriter() const override; + + /** \return true if 'settings' are legal and consistent; + * otherwise, indicate bad settings via 'invalid'. + */ + bool validate(Json::Value* invalid) const; + /** A simple way to update a specific setting. + */ + Value& operator[](const String& key); + + /** Called by ctor, but you can use this to reset settings_. + * \pre 'settings' != NULL (but Json::null is fine) + * \remark Defaults: + * \snippet src/lib_json/json_writer.cpp StreamWriterBuilderDefaults + */ + static void setDefaults(Json::Value* settings); +}; + +/** \brief Abstract class for writers. + * \deprecated Use StreamWriter. (And really, this is an implementation detail.) + */ +class JSON_API Writer { +public: + virtual ~Writer(); + + virtual String write(const Value& root) = 0; +}; + +/** \brief Outputs a Value in JSON format + *without formatting (not human friendly). + * + * The JSON document is written in a single line. It is not intended for 'human' + *consumption, + * but may be useful to support feature such as RPC where bandwidth is limited. + * \sa Reader, Value + * \deprecated Use StreamWriterBuilder. + */ +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable : 4996) // Deriving from deprecated class +#endif +class JSON_API FastWriter + : public Writer { +public: + FastWriter(); + ~FastWriter() override = default; + + void enableYAMLCompatibility(); + + /** \brief Drop the "null" string from the writer's output for nullValues. + * Strictly speaking, this is not valid JSON. But when the output is being + * fed to a browser's JavaScript, it makes for smaller output and the + * browser can handle the output just fine. + */ + void dropNullPlaceholders(); + + void omitEndingLineFeed(); + +public: // overridden from Writer + String write(const Value& root) override; + +private: + void writeValue(const Value& value); + + String document_; + bool yamlCompatibilityEnabled_{false}; + bool dropNullPlaceholders_{false}; + bool omitEndingLineFeed_{false}; +}; +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +/** \brief Writes a Value in JSON format in a + *human friendly way. + * + * The rules for line break and indent are as follow: + * - Object value: + * - if empty then print {} without indent and line break + * - if not empty the print '{', line break & indent, print one value per + *line + * and then unindent and line break and print '}'. + * - Array value: + * - if empty then print [] without indent and line break + * - if the array contains no object value, empty array or some other value + *types, + * and all the values fit on one lines, then print the array on a single + *line. + * - otherwise, it the values do not fit on one line, or the array contains + * object or non empty array, then print one value per line. + * + * If the Value have comments then they are outputed according to their + *#CommentPlacement. + * + * \sa Reader, Value, Value::setComment() + * \deprecated Use StreamWriterBuilder. + */ +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable : 4996) // Deriving from deprecated class +#endif +class JSON_API + StyledWriter : public Writer { +public: + StyledWriter(); + ~StyledWriter() override = default; + +public: // overridden from Writer + /** \brief Serialize a Value in JSON format. + * \param root Value to serialize. + * \return String containing the JSON document that represents the root value. + */ + String write(const Value& root) override; + +private: + void writeValue(const Value& value); + void writeArrayValue(const Value& value); + bool isMultilineArray(const Value& value); + void pushValue(const String& value); + void writeIndent(); + void writeWithIndent(const String& value); + void indent(); + void unindent(); + void writeCommentBeforeValue(const Value& root); + void writeCommentAfterValueOnSameLine(const Value& root); + static bool hasCommentForValue(const Value& value); + static String normalizeEOL(const String& text); + + using ChildValues = std::vector; + + ChildValues childValues_; + String document_; + String indentString_; + unsigned int rightMargin_{74}; + unsigned int indentSize_{3}; + bool addChildValues_{false}; +}; +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +/** \brief Writes a Value in JSON format in a + human friendly way, + to a stream rather than to a string. + * + * The rules for line break and indent are as follow: + * - Object value: + * - if empty then print {} without indent and line break + * - if not empty the print '{', line break & indent, print one value per + line + * and then unindent and line break and print '}'. + * - Array value: + * - if empty then print [] without indent and line break + * - if the array contains no object value, empty array or some other value + types, + * and all the values fit on one lines, then print the array on a single + line. + * - otherwise, it the values do not fit on one line, or the array contains + * object or non empty array, then print one value per line. + * + * If the Value have comments then they are outputed according to their + #CommentPlacement. + * + * \sa Reader, Value, Value::setComment() + * \deprecated Use StreamWriterBuilder. + */ +#if defined(_MSC_VER) +#pragma warning(push) +#pragma warning(disable : 4996) // Deriving from deprecated class +#endif +class JSON_API + StyledStreamWriter { +public: + /** + * \param indentation Each level will be indented by this amount extra. + */ + StyledStreamWriter(String indentation = "\t"); + ~StyledStreamWriter() = default; + +public: + /** \brief Serialize a Value in JSON format. + * \param out Stream to write to. (Can be ostringstream, e.g.) + * \param root Value to serialize. + * \note There is no point in deriving from Writer, since write() should not + * return a value. + */ + void write(OStream& out, const Value& root); + +private: + void writeValue(const Value& value); + void writeArrayValue(const Value& value); + bool isMultilineArray(const Value& value); + void pushValue(const String& value); + void writeIndent(); + void writeWithIndent(const String& value); + void indent(); + void unindent(); + void writeCommentBeforeValue(const Value& root); + void writeCommentAfterValueOnSameLine(const Value& root); + static bool hasCommentForValue(const Value& value); + static String normalizeEOL(const String& text); + + using ChildValues = std::vector; + + ChildValues childValues_; + OStream* document_; + String indentString_; + unsigned int rightMargin_{74}; + String indentation_; + bool addChildValues_ : 1; + bool indented_ : 1; +}; +#if defined(_MSC_VER) +#pragma warning(pop) +#endif + +#if defined(JSON_HAS_INT64) +String JSON_API valueToString(Int value); +String JSON_API valueToString(UInt value); +#endif // if defined(JSON_HAS_INT64) +String JSON_API valueToString(LargestInt value); +String JSON_API valueToString(LargestUInt value); +String JSON_API valueToString( + double value, unsigned int precision = Value::defaultRealPrecision, + PrecisionType precisionType = PrecisionType::significantDigits); +String JSON_API valueToString(bool value); +String JSON_API valueToQuotedString(const char* value); + +/// \brief Output using the StyledStreamWriter. +/// \see Json::operator>>() +JSON_API OStream& operator<<(OStream&, const Value& root); + +} // namespace Json + +#pragma pack(pop) + +#if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) +#pragma warning(pop) +#endif // if defined(JSONCPP_DISABLE_DLL_INTERFACE_WARNING) + +#endif // JSON_WRITER_H_INCLUDED diff --git a/json/include/json/zconf.h b/json/include/json/zconf.h new file mode 100644 index 0000000..2271dc5 --- /dev/null +++ b/json/include/json/zconf.h @@ -0,0 +1,549 @@ +/* zconf.h -- configuration of the zlib compression library + * Copyright (C) 1995-2016 Jean-loup Gailly, Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h + */ + +/* @(#) $Id$ */ + +#ifndef ZCONF_H +#define ZCONF_H +/* #undef Z_PREFIX */ +/* #undef Z_HAVE_UNISTD_H */ + +/* + * If you *really* need a unique prefix for all types and library functions, + * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. + * Even better than compiling with -DZ_PREFIX would be to use configure to set + * this permanently in zconf.h using "./configure --zprefix". + */ +#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */ +# define Z_PREFIX_SET + +/* all linked symbols and init macros */ +# define _dist_code z__dist_code +# define _length_code z__length_code +# define _tr_align z__tr_align +# define _tr_flush_bits z__tr_flush_bits +# define _tr_flush_block z__tr_flush_block +# define _tr_init z__tr_init +# define _tr_stored_block z__tr_stored_block +# define _tr_tally z__tr_tally +# define adler32 z_adler32 +# define adler32_combine z_adler32_combine +# define adler32_combine64 z_adler32_combine64 +# define adler32_z z_adler32_z +# ifndef Z_SOLO +# define compress z_compress +# define compress2 z_compress2 +# define compressBound z_compressBound +# endif +# define crc32 z_crc32 +# define crc32_combine z_crc32_combine +# define crc32_combine64 z_crc32_combine64 +# define crc32_combine_gen z_crc32_combine_gen +# define crc32_combine_gen64 z_crc32_combine_gen64 +# define crc32_combine_op z_crc32_combine_op +# define crc32_z z_crc32_z +# define deflate z_deflate +# define deflateBound z_deflateBound +# define deflateCopy z_deflateCopy +# define deflateEnd z_deflateEnd +# define deflateGetDictionary z_deflateGetDictionary +# define deflateInit z_deflateInit +# define deflateInit2 z_deflateInit2 +# define deflateInit2_ z_deflateInit2_ +# define deflateInit_ z_deflateInit_ +# define deflateParams z_deflateParams +# define deflatePending z_deflatePending +# define deflatePrime z_deflatePrime +# define deflateReset z_deflateReset +# define deflateResetKeep z_deflateResetKeep +# define deflateSetDictionary z_deflateSetDictionary +# define deflateSetHeader z_deflateSetHeader +# define deflateTune z_deflateTune +# define deflate_copyright z_deflate_copyright +# define get_crc_table z_get_crc_table +# ifndef Z_SOLO +# define gz_error z_gz_error +# define gz_intmax z_gz_intmax +# define gz_strwinerror z_gz_strwinerror +# define gzbuffer z_gzbuffer +# define gzclearerr z_gzclearerr +# define gzclose z_gzclose +# define gzclose_r z_gzclose_r +# define gzclose_w z_gzclose_w +# define gzdirect z_gzdirect +# define gzdopen z_gzdopen +# define gzeof z_gzeof +# define gzerror z_gzerror +# define gzflush z_gzflush +# define gzfread z_gzfread +# define gzfwrite z_gzfwrite +# define gzgetc z_gzgetc +# define gzgetc_ z_gzgetc_ +# define gzgets z_gzgets +# define gzoffset z_gzoffset +# define gzoffset64 z_gzoffset64 +# define gzopen z_gzopen +# define gzopen64 z_gzopen64 +# ifdef _WIN32 +# define gzopen_w z_gzopen_w +# endif +# define gzprintf z_gzprintf +# define gzputc z_gzputc +# define gzputs z_gzputs +# define gzread z_gzread +# define gzrewind z_gzrewind +# define gzseek z_gzseek +# define gzseek64 z_gzseek64 +# define gzsetparams z_gzsetparams +# define gztell z_gztell +# define gztell64 z_gztell64 +# define gzungetc z_gzungetc +# define gzvprintf z_gzvprintf +# define gzwrite z_gzwrite +# endif +# define inflate z_inflate +# define inflateBack z_inflateBack +# define inflateBackEnd z_inflateBackEnd +# define inflateBackInit z_inflateBackInit +# define inflateBackInit_ z_inflateBackInit_ +# define inflateCodesUsed z_inflateCodesUsed +# define inflateCopy z_inflateCopy +# define inflateEnd z_inflateEnd +# define inflateGetDictionary z_inflateGetDictionary +# define inflateGetHeader z_inflateGetHeader +# define inflateInit z_inflateInit +# define inflateInit2 z_inflateInit2 +# define inflateInit2_ z_inflateInit2_ +# define inflateInit_ z_inflateInit_ +# define inflateMark z_inflateMark +# define inflatePrime z_inflatePrime +# define inflateReset z_inflateReset +# define inflateReset2 z_inflateReset2 +# define inflateResetKeep z_inflateResetKeep +# define inflateSetDictionary z_inflateSetDictionary +# define inflateSync z_inflateSync +# define inflateSyncPoint z_inflateSyncPoint +# define inflateUndermine z_inflateUndermine +# define inflateValidate z_inflateValidate +# define inflate_copyright z_inflate_copyright +# define inflate_fast z_inflate_fast +# define inflate_table z_inflate_table +# ifndef Z_SOLO +# define uncompress z_uncompress +# define uncompress2 z_uncompress2 +# endif +# define zError z_zError +# ifndef Z_SOLO +# define zcalloc z_zcalloc +# define zcfree z_zcfree +# endif +# define zlibCompileFlags z_zlibCompileFlags +# define zlibVersion z_zlibVersion + +/* all zlib typedefs in zlib.h and zconf.h */ +# define Byte z_Byte +# define Bytef z_Bytef +# define alloc_func z_alloc_func +# define charf z_charf +# define free_func z_free_func +# ifndef Z_SOLO +# define gzFile z_gzFile +# endif +# define gz_header z_gz_header +# define gz_headerp z_gz_headerp +# define in_func z_in_func +# define intf z_intf +# define out_func z_out_func +# define uInt z_uInt +# define uIntf z_uIntf +# define uLong z_uLong +# define uLongf z_uLongf +# define voidp z_voidp +# define voidpc z_voidpc +# define voidpf z_voidpf + +/* all zlib structs in zlib.h and zconf.h */ +# define gz_header_s z_gz_header_s +# define internal_state z_internal_state + +#endif + +#if defined(__MSDOS__) && !defined(MSDOS) +# define MSDOS +#endif +#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2) +# define OS2 +#endif +#if defined(_WINDOWS) && !defined(WINDOWS) +# define WINDOWS +#endif +#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) +# ifndef WIN32 +# define WIN32 +# endif +#endif +#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) +# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__) +# ifndef SYS16BIT +# define SYS16BIT +# endif +# endif +#endif + +/* + * Compile with -DMAXSEG_64K if the alloc function cannot allocate more + * than 64k bytes at a time (needed on systems with 16-bit int). + */ +#ifdef SYS16BIT +# define MAXSEG_64K +#endif +#ifdef MSDOS +# define UNALIGNED_OK +#endif + +#ifdef __STDC_VERSION__ +# ifndef STDC +# define STDC +# endif +# if __STDC_VERSION__ >= 199901L +# ifndef STDC99 +# define STDC99 +# endif +# endif +#endif +#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus)) +# define STDC +#endif +#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__)) +# define STDC +#endif +#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32)) +# define STDC +#endif +#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__)) +# define STDC +#endif + +#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */ +# define STDC +#endif + +#ifndef STDC +# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */ +# define const /* note: need a more gentle solution here */ +# endif +#endif + +#if defined(ZLIB_CONST) && !defined(z_const) +# define z_const const +#else +# define z_const +#endif + +#ifdef Z_SOLO + typedef unsigned long z_size_t; +#else +# define z_longlong long long +# if defined(NO_SIZE_T) + typedef unsigned NO_SIZE_T z_size_t; +# elif defined(STDC) +# include + typedef size_t z_size_t; +# else + typedef unsigned long z_size_t; +# endif +# undef z_longlong +#endif + +/* Maximum value for memLevel in deflateInit2 */ +#ifndef MAX_MEM_LEVEL +# ifdef MAXSEG_64K +# define MAX_MEM_LEVEL 8 +# else +# define MAX_MEM_LEVEL 9 +# endif +#endif + +/* Maximum value for windowBits in deflateInit2 and inflateInit2. + * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files + * created by gzip. (Files created by minigzip can still be extracted by + * gzip.) + */ +#ifndef MAX_WBITS +# define MAX_WBITS 15 /* 32K LZ77 window */ +#endif + +/* The memory requirements for deflate are (in bytes): + (1 << (windowBits+2)) + (1 << (memLevel+9)) + that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values) + plus a few kilobytes for small objects. For example, if you want to reduce + the default memory requirements from 256K to 128K, compile with + make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7" + Of course this will generally degrade compression (there's no free lunch). + + The memory requirements for inflate are (in bytes) 1 << windowBits + that is, 32K for windowBits=15 (default value) plus about 7 kilobytes + for small objects. +*/ + + /* Type declarations */ + +#ifndef OF /* function prototypes */ +# ifdef STDC +# define OF(args) args +# else +# define OF(args) () +# endif +#endif + +#ifndef Z_ARG /* function prototypes for stdarg */ +# if defined(STDC) || defined(Z_HAVE_STDARG_H) +# define Z_ARG(args) args +# else +# define Z_ARG(args) () +# endif +#endif + +/* The following definitions for FAR are needed only for MSDOS mixed + * model programming (small or medium model with some far allocations). + * This was tested only with MSC; for other MSDOS compilers you may have + * to define NO_MEMCPY in zutil.h. If you don't need the mixed model, + * just define FAR to be empty. + */ +#ifdef SYS16BIT +# if defined(M_I86SM) || defined(M_I86MM) + /* MSC small or medium model */ +# define SMALL_MEDIUM +# ifdef _MSC_VER +# define FAR _far +# else +# define FAR far +# endif +# endif +# if (defined(__SMALL__) || defined(__MEDIUM__)) + /* Turbo C small or medium model */ +# define SMALL_MEDIUM +# ifdef __BORLANDC__ +# define FAR _far +# else +# define FAR far +# endif +# endif +#endif + +#if defined(WINDOWS) || defined(WIN32) + /* If building or using zlib as a DLL, define ZLIB_DLL. + * This is not mandatory, but it offers a little performance increase. + */ +# ifdef ZLIB_DLL +# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500)) +# ifdef ZLIB_INTERNAL +# define ZEXTERN extern __declspec(dllexport) +# else +# define ZEXTERN extern __declspec(dllimport) +# endif +# endif +# endif /* ZLIB_DLL */ + /* If building or using zlib with the WINAPI/WINAPIV calling convention, + * define ZLIB_WINAPI. + * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI. + */ +# ifdef ZLIB_WINAPI +# ifdef FAR +# undef FAR +# endif +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include + /* No need for _export, use ZLIB.DEF instead. */ + /* For complete Windows compatibility, use WINAPI, not __stdcall. */ +# define ZEXPORT WINAPI +# ifdef WIN32 +# define ZEXPORTVA WINAPIV +# else +# define ZEXPORTVA FAR CDECL +# endif +# endif +#endif + +#if defined (__BEOS__) +# ifdef ZLIB_DLL +# ifdef ZLIB_INTERNAL +# define ZEXPORT __declspec(dllexport) +# define ZEXPORTVA __declspec(dllexport) +# else +# define ZEXPORT __declspec(dllimport) +# define ZEXPORTVA __declspec(dllimport) +# endif +# endif +#endif + +#ifndef ZEXTERN +# define ZEXTERN extern +#endif +#ifndef ZEXPORT +# define ZEXPORT +#endif +#ifndef ZEXPORTVA +# define ZEXPORTVA +#endif + +#ifndef FAR +# define FAR +#endif + +#if !defined(__MACTYPES__) +typedef unsigned char Byte; /* 8 bits */ +#endif +typedef unsigned int uInt; /* 16 bits or more */ +typedef unsigned long uLong; /* 32 bits or more */ + +#ifdef SMALL_MEDIUM + /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */ +# define Bytef Byte FAR +#else + typedef Byte FAR Bytef; +#endif +typedef char FAR charf; +typedef int FAR intf; +typedef uInt FAR uIntf; +typedef uLong FAR uLongf; + +#ifdef STDC + typedef void const *voidpc; + typedef void FAR *voidpf; + typedef void *voidp; +#else + typedef Byte const *voidpc; + typedef Byte FAR *voidpf; + typedef Byte *voidp; +#endif + +#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC) +# include +# if (UINT_MAX == 0xffffffffUL) +# define Z_U4 unsigned +# elif (ULONG_MAX == 0xffffffffUL) +# define Z_U4 unsigned long +# elif (USHRT_MAX == 0xffffffffUL) +# define Z_U4 unsigned short +# endif +#endif + +#ifdef Z_U4 + typedef Z_U4 z_crc_t; +#else + typedef unsigned long z_crc_t; +#endif + +#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ +# define Z_HAVE_UNISTD_H +#endif + +#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ +# define Z_HAVE_STDARG_H +#endif + +#ifdef STDC +# ifndef Z_SOLO +# include /* for off_t */ +# endif +#endif + +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +# include /* for va_list */ +# endif +#endif + +#ifdef _WIN32 +# ifndef Z_SOLO +# include /* for wchar_t */ +# endif +#endif + +/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and + * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even + * though the former does not conform to the LFS document), but considering + * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as + * equivalently requesting no 64-bit operations + */ +#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1 +# undef _LARGEFILE64_SOURCE +#endif + +#ifndef Z_HAVE_UNISTD_H +# ifdef __WATCOMC__ +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_HAVE_UNISTD_H +# if defined(_LARGEFILE64_SOURCE) && !defined(_WIN32) +# define Z_HAVE_UNISTD_H +# endif +#endif +#ifndef Z_SOLO +# if defined(Z_HAVE_UNISTD_H) +# include /* for SEEK_*, off_t, and _LFS64_LARGEFILE */ +# ifdef VMS +# include /* for off_t */ +# endif +# ifndef z_off_t +# define z_off_t off_t +# endif +# endif +#endif + +#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0 +# define Z_LFS64 +#endif + +#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64) +# define Z_LARGE64 +#endif + +#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64) +# define Z_WANT64 +#endif + +#if !defined(SEEK_SET) && !defined(Z_SOLO) +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */ +#endif + +#ifndef z_off_t +# define z_off_t long +#endif + +#if !defined(_WIN32) && defined(Z_LARGE64) +# define z_off64_t off64_t +#else +# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO) +# define z_off64_t __int64 +# else +# define z_off64_t z_off_t +# endif +#endif + +/* MVS linker does not support external names larger than 8 bytes */ +#if defined(__MVS__) + #pragma map(deflateInit_,"DEIN") + #pragma map(deflateInit2_,"DEIN2") + #pragma map(deflateEnd,"DEEND") + #pragma map(deflateBound,"DEBND") + #pragma map(inflateInit_,"ININ") + #pragma map(inflateInit2_,"ININ2") + #pragma map(inflateEnd,"INEND") + #pragma map(inflateSync,"INSY") + #pragma map(inflateSetDictionary,"INSEDI") + #pragma map(compressBound,"CMBND") + #pragma map(inflate_table,"INTABL") + #pragma map(inflate_fast,"INFA") + #pragma map(inflate_copyright,"INCOPY") +#endif + +#endif /* ZCONF_H */ diff --git a/json/include/json/zlib.h b/json/include/json/zlib.h new file mode 100644 index 0000000..953cb50 --- /dev/null +++ b/json/include/json/zlib.h @@ -0,0 +1,1935 @@ +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.13, October 13th, 2022 + + Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950 + (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format). +*/ + +#ifndef ZLIB_H +#define ZLIB_H + +#include "zconf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define ZLIB_VERSION "1.2.13" +#define ZLIB_VERNUM 0x12d0 +#define ZLIB_VER_MAJOR 1 +#define ZLIB_VER_MINOR 2 +#define ZLIB_VER_REVISION 13 +#define ZLIB_VER_SUBREVISION 0 + +/* + The 'zlib' compression library provides in-memory compression and + decompression functions, including integrity checks of the uncompressed data. + This version of the library supports only one compression method (deflation) + but other algorithms will be added later and will have the same stream + interface. + + Compression can be done in a single step if the buffers are large enough, + or can be done by repeated calls of the compression function. In the latter + case, the application must provide more input and/or consume the output + (providing more output space) before each call. + + The compressed data format used by default by the in-memory functions is + the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped + around a deflate stream, which is itself documented in RFC 1951. + + The library also supports reading and writing files in gzip (.gz) format + with an interface similar to that of stdio using the functions that start + with "gz". The gzip format is different from the zlib format. gzip is a + gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. + + This library can optionally read and write gzip and raw deflate streams in + memory as well. + + The zlib format was designed to be compact and fast for use in memory + and on communications channels. The gzip format was designed for single- + file compression on file systems, has a larger header than zlib to maintain + directory information, and uses a different, slower check method than zlib. + + The library does not install any signal handler. The decoder checks + the consistency of the compressed data, so the library should never crash + even in the case of corrupted input. +*/ + +typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size)); +typedef void (*free_func) OF((voidpf opaque, voidpf address)); + +struct internal_state; + +typedef struct z_stream_s { + z_const Bytef *next_in; /* next input byte */ + uInt avail_in; /* number of bytes available at next_in */ + uLong total_in; /* total number of input bytes read so far */ + + Bytef *next_out; /* next output byte will go here */ + uInt avail_out; /* remaining free space at next_out */ + uLong total_out; /* total number of bytes output so far */ + + z_const char *msg; /* last error message, NULL if no error */ + struct internal_state FAR *state; /* not visible by applications */ + + alloc_func zalloc; /* used to allocate the internal state */ + free_func zfree; /* used to free the internal state */ + voidpf opaque; /* private data object passed to zalloc and zfree */ + + int data_type; /* best guess about the data type: binary or text + for deflate, or the decoding state for inflate */ + uLong adler; /* Adler-32 or CRC-32 value of the uncompressed data */ + uLong reserved; /* reserved for future use */ +} z_stream; + +typedef z_stream FAR *z_streamp; + +/* + gzip header information passed to and from zlib routines. See RFC 1952 + for more details on the meanings of these fields. +*/ +typedef struct gz_header_s { + int text; /* true if compressed data believed to be text */ + uLong time; /* modification time */ + int xflags; /* extra flags (not used when writing a gzip file) */ + int os; /* operating system */ + Bytef *extra; /* pointer to extra field or Z_NULL if none */ + uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ + uInt extra_max; /* space at extra (only when reading header) */ + Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ + uInt name_max; /* space at name (only when reading header) */ + Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ + uInt comm_max; /* space at comment (only when reading header) */ + int hcrc; /* true if there was or will be a header crc */ + int done; /* true when done reading gzip header (not used + when writing a gzip file) */ +} gz_header; + +typedef gz_header FAR *gz_headerp; + +/* + The application must update next_in and avail_in when avail_in has dropped + to zero. It must update next_out and avail_out when avail_out has dropped + to zero. The application must initialize zalloc, zfree and opaque before + calling the init function. All other fields are set by the compression + library and must not be updated by the application. + + The opaque value provided by the application will be passed as the first + parameter for calls of zalloc and zfree. This can be useful for custom + memory management. The compression library attaches no meaning to the + opaque value. + + zalloc must return Z_NULL if there is not enough memory for the object. + If zlib is used in a multi-threaded application, zalloc and zfree must be + thread safe. In that case, zlib is thread-safe. When zalloc and zfree are + Z_NULL on entry to the initialization function, they are set to internal + routines that use the standard library functions malloc() and free(). + + On 16-bit systems, the functions zalloc and zfree must be able to allocate + exactly 65536 bytes, but will not be required to allocate more than this if + the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers + returned by zalloc for objects of exactly 65536 bytes *must* have their + offset normalized to zero. The default allocation function provided by this + library ensures this (see zutil.c). To reduce memory requirements and avoid + any allocation of 64K objects, at the expense of compression ratio, compile + the library with -DMAX_WBITS=14 (see zconf.h). + + The fields total_in and total_out can be used for statistics or progress + reports. After compression, total_in holds the total size of the + uncompressed data and may be saved for use by the decompressor (particularly + if the decompressor wants to decompress everything in a single step). +*/ + + /* constants */ + +#define Z_NO_FLUSH 0 +#define Z_PARTIAL_FLUSH 1 +#define Z_SYNC_FLUSH 2 +#define Z_FULL_FLUSH 3 +#define Z_FINISH 4 +#define Z_BLOCK 5 +#define Z_TREES 6 +/* Allowed flush values; see deflate() and inflate() below for details */ + +#define Z_OK 0 +#define Z_STREAM_END 1 +#define Z_NEED_DICT 2 +#define Z_ERRNO (-1) +#define Z_STREAM_ERROR (-2) +#define Z_DATA_ERROR (-3) +#define Z_MEM_ERROR (-4) +#define Z_BUF_ERROR (-5) +#define Z_VERSION_ERROR (-6) +/* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + +#define Z_NO_COMPRESSION 0 +#define Z_BEST_SPEED 1 +#define Z_BEST_COMPRESSION 9 +#define Z_DEFAULT_COMPRESSION (-1) +/* compression levels */ + +#define Z_FILTERED 1 +#define Z_HUFFMAN_ONLY 2 +#define Z_RLE 3 +#define Z_FIXED 4 +#define Z_DEFAULT_STRATEGY 0 +/* compression strategy; see deflateInit2() below for details */ + +#define Z_BINARY 0 +#define Z_TEXT 1 +#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ +#define Z_UNKNOWN 2 +/* Possible values of the data_type field for deflate() */ + +#define Z_DEFLATED 8 +/* The deflate compression method (the only one supported in this version) */ + +#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */ + +#define zlib_version zlibVersion() +/* for compatibility with versions < 1.0.2 */ + + + /* basic functions */ + +ZEXTERN const char * ZEXPORT zlibVersion OF((void)); +/* The application can compare zlibVersion and ZLIB_VERSION for consistency. + If the first character differs, the library code actually used is not + compatible with the zlib.h header file used by the application. This check + is automatically made by deflateInit and inflateInit. + */ + +/* +ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level)); + + Initializes the internal stream state for compression. The fields + zalloc, zfree and opaque must be initialized before by the caller. If + zalloc and zfree are set to Z_NULL, deflateInit updates them to use default + allocation functions. + + The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9: + 1 gives best speed, 9 gives best compression, 0 gives no compression at all + (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION + requests a default compromise between speed and compression (currently + equivalent to level 6). + + deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if level is not a valid compression level, or + Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible + with the version assumed by the caller (ZLIB_VERSION). msg is set to null + if there is no error message. deflateInit does not perform any compression: + this will be done by deflate(). +*/ + + +ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush)); +/* + deflate compresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. deflate performs one or both of the + following actions: + + - Compress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), next_in and avail_in are updated and + processing will resume at this point for the next call of deflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. This action is forced if the parameter flush is non zero. + Forcing flush frequently degrades the compression ratio, so this parameter + should be set only when necessary. Some output may be provided even if + flush is zero. + + Before the call of deflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating avail_in or avail_out accordingly; avail_out should + never be zero before the call. The application can consume the compressed + output when it wants, for example when the output buffer is full (avail_out + == 0), or after each call of deflate(). If deflate returns Z_OK and with + zero avail_out, it must be called again after making room in the output + buffer because there might be more output pending. See deflatePending(), + which can be used if desired to determine whether or not there is more output + in that case. + + Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to + decide how much data to accumulate before producing output, in order to + maximize compression. + + If the parameter flush is set to Z_SYNC_FLUSH, all pending output is + flushed to the output buffer and the output is aligned on a byte boundary, so + that the decompressor can get all input data available so far. (In + particular avail_in is zero after the call if enough output space has been + provided before the call.) Flushing may degrade compression for some + compression algorithms and so it should be used only when necessary. This + completes the current deflate block and follows it with an empty stored block + that is three bits plus filler bits to the next byte, followed by four bytes + (00 00 ff ff). + + If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the + output buffer, but the output is not aligned to a byte boundary. All of the + input data so far will be available to the decompressor, as for Z_SYNC_FLUSH. + This completes the current deflate block and follows it with an empty fixed + codes block that is 10 bits long. This assures that enough bytes are output + in order for the decompressor to finish the block before the empty fixed + codes block. + + If flush is set to Z_BLOCK, a deflate block is completed and emitted, as + for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to + seven bits of the current block are held to be written as the next byte after + the next deflate block is completed. In this case, the decompressor may not + be provided enough bits at this point in order to complete decompression of + the data provided so far to the compressor. It may need to wait for the next + block to be emitted. This is for advanced applications that need to control + the emission of deflate blocks. + + If flush is set to Z_FULL_FLUSH, all output is flushed as with + Z_SYNC_FLUSH, and the compression state is reset so that decompression can + restart from this point if previous compressed data has been damaged or if + random access is desired. Using Z_FULL_FLUSH too often can seriously degrade + compression. + + If deflate returns with avail_out == 0, this function must be called again + with the same value of the flush parameter and more output space (updated + avail_out), until the flush is complete (deflate returns with non-zero + avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that + avail_out is greater than six to avoid repeated flush markers due to + avail_out == 0 on return. + + If the parameter flush is set to Z_FINISH, pending input is processed, + pending output is flushed and deflate returns with Z_STREAM_END if there was + enough output space. If deflate returns with Z_OK or Z_BUF_ERROR, this + function must be called again with Z_FINISH and more output space (updated + avail_out) but no more input data, until it returns with Z_STREAM_END or an + error. After deflate has returned Z_STREAM_END, the only possible operations + on the stream are deflateReset or deflateEnd. + + Z_FINISH can be used in the first deflate call after deflateInit if all the + compression is to be done in a single step. In order to complete in one + call, avail_out must be at least the value returned by deflateBound (see + below). Then deflate is guaranteed to return Z_STREAM_END. If not enough + output space is provided, deflate will not return Z_STREAM_END, and it must + be called again as described above. + + deflate() sets strm->adler to the Adler-32 checksum of all input read + so far (that is, total_in bytes). If a gzip stream is being generated, then + strm->adler will be the CRC-32 checksum of the input read so far. (See + deflateInit2 below.) + + deflate() may update strm->data_type if it can make a good guess about + the input data type (Z_BINARY or Z_TEXT). If in doubt, the data is + considered binary. This field is only for information purposes and does not + affect the compression algorithm in any manner. + + deflate() returns Z_OK if some progress has been made (more input + processed or more output produced), Z_STREAM_END if all input has been + consumed and all output has been produced (only when flush is set to + Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example + if next_in or next_out was Z_NULL or the state was inadvertently written over + by the application), or Z_BUF_ERROR if no progress is possible (for example + avail_in or avail_out was zero). Note that Z_BUF_ERROR is not fatal, and + deflate() can be called again with more input and more output space to + continue compressing. +*/ + + +ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm)); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the + stream state was inconsistent, Z_DATA_ERROR if the stream was freed + prematurely (some input or output was discarded). In the error case, msg + may be set but then points to a static string (which must not be + deallocated). +*/ + + +/* +ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm)); + + Initializes the internal stream state for decompression. The fields + next_in, avail_in, zalloc, zfree and opaque must be initialized before by + the caller. In the current version of inflate, the provided input is not + read or consumed. The allocation of a sliding window will be deferred to + the first call of inflate (if the decompression does not complete on the + first call). If zalloc and zfree are set to Z_NULL, inflateInit updates + them to use default allocation functions. + + inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit does not perform any decompression. + Actual decompression will be done by inflate(). So next_in, and avail_in, + next_out, and avail_out are unused and unchanged. The current + implementation of inflateInit() does not process any header information -- + that is deferred until inflate() is called. +*/ + + +ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush)); +/* + inflate decompresses as much data as possible, and stops when the input + buffer becomes empty or the output buffer becomes full. It may introduce + some output latency (reading input without producing any output) except when + forced to flush. + + The detailed semantics are as follows. inflate performs one or both of the + following actions: + + - Decompress more input starting at next_in and update next_in and avail_in + accordingly. If not all input can be processed (because there is not + enough room in the output buffer), then next_in and avail_in are updated + accordingly, and processing will resume at this point for the next call of + inflate(). + + - Generate more output starting at next_out and update next_out and avail_out + accordingly. inflate() provides as much output as possible, until there is + no more input data or no more space in the output buffer (see below about + the flush parameter). + + Before the call of inflate(), the application should ensure that at least + one of the actions is possible, by providing more input and/or consuming more + output, and updating the next_* and avail_* values accordingly. If the + caller of inflate() does not provide both available input and available + output space, it is possible that there will be no progress made. The + application can consume the uncompressed output when it wants, for example + when the output buffer is full (avail_out == 0), or after each call of + inflate(). If inflate returns Z_OK and with zero avail_out, it must be + called again after making room in the output buffer because there might be + more output pending. + + The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH, + Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much + output as possible to the output buffer. Z_BLOCK requests that inflate() + stop if and when it gets to the next deflate block boundary. When decoding + the zlib or gzip format, this will cause inflate() to return immediately + after the header and before the first block. When doing a raw inflate, + inflate() will go ahead and process the first block, and will return when it + gets to the end of that block, or when it runs out of data. + + The Z_BLOCK option assists in appending to or combining deflate streams. + To assist in this, on return inflate() always sets strm->data_type to the + number of unused bits in the last byte taken from strm->next_in, plus 64 if + inflate() is currently decoding the last block in the deflate stream, plus + 128 if inflate() returned immediately after decoding an end-of-block code or + decoding the complete header up to just before the first byte of the deflate + stream. The end-of-block will not be indicated until all of the uncompressed + data from that block has been written to strm->next_out. The number of + unused bits may in general be greater than seven, except when bit 7 of + data_type is set, in which case the number of unused bits will be less than + eight. data_type is set as noted here every time inflate() returns for all + flush options, and so can be used to determine the amount of currently + consumed input in bits. + + The Z_TREES option behaves as Z_BLOCK does, but it also returns when the + end of each deflate block header is reached, before any actual data in that + block is decoded. This allows the caller to determine the length of the + deflate block header for later use in random access within a deflate block. + 256 is added to the value of strm->data_type when inflate() returns + immediately after reaching the end of the deflate block header. + + inflate() should normally be called until it returns Z_STREAM_END or an + error. However if all decompression is to be performed in a single step (a + single call of inflate), the parameter flush should be set to Z_FINISH. In + this case all pending input is processed and all pending output is flushed; + avail_out must be large enough to hold all of the uncompressed data for the + operation to complete. (The size of the uncompressed data may have been + saved by the compressor for this purpose.) The use of Z_FINISH is not + required to perform an inflation in one step. However it may be used to + inform inflate that a faster approach can be used for the single inflate() + call. Z_FINISH also informs inflate to not maintain a sliding window if the + stream completes, which reduces inflate's memory footprint. If the stream + does not complete, either because not all of the stream is provided or not + enough output space is provided, then a sliding window will be allocated and + inflate() can be called again to continue the operation as if Z_NO_FLUSH had + been used. + + In this implementation, inflate() always flushes as much output as + possible to the output buffer, and always uses the faster approach on the + first call. So the effects of the flush parameter in this implementation are + on the return value of inflate() as noted below, when inflate() returns early + when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of + memory for a sliding window when Z_FINISH is used. + + If a preset dictionary is needed after this call (see inflateSetDictionary + below), inflate sets strm->adler to the Adler-32 checksum of the dictionary + chosen by the compressor and returns Z_NEED_DICT; otherwise it sets + strm->adler to the Adler-32 checksum of all output produced so far (that is, + total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described + below. At the end of the stream, inflate() checks that its computed Adler-32 + checksum is equal to that saved by the compressor and returns Z_STREAM_END + only if the checksum is correct. + + inflate() can decompress and check either zlib-wrapped or gzip-wrapped + deflate data. The header type is detected automatically, if requested when + initializing with inflateInit2(). Any information contained in the gzip + header is not retained unless inflateGetHeader() is used. When processing + gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output + produced so far. The CRC-32 is checked against the gzip trailer, as is the + uncompressed length, modulo 2^32. + + inflate() returns Z_OK if some progress has been made (more input processed + or more output produced), Z_STREAM_END if the end of the compressed data has + been reached and all uncompressed output has been produced, Z_NEED_DICT if a + preset dictionary is needed at this point, Z_DATA_ERROR if the input data was + corrupted (input stream not conforming to the zlib format or incorrect check + value, in which case strm->msg points to a string with a more specific + error), Z_STREAM_ERROR if the stream structure was inconsistent (for example + next_in or next_out was Z_NULL, or the state was inadvertently written over + by the application), Z_MEM_ERROR if there was not enough memory, Z_BUF_ERROR + if no progress was possible or if there was not enough room in the output + buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and + inflate() can be called again with more input and more output space to + continue decompressing. If Z_DATA_ERROR is returned, the application may + then call inflateSync() to look for a good compression block if a partial + recovery of the data is to be attempted. +*/ + + +ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm)); +/* + All dynamically allocated data structures for this stream are freed. + This function discards any unprocessed input and does not flush any pending + output. + + inflateEnd returns Z_OK if success, or Z_STREAM_ERROR if the stream state + was inconsistent. +*/ + + + /* Advanced functions */ + +/* + The following functions are needed only in some special applications. +*/ + +/* +ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm, + int level, + int method, + int windowBits, + int memLevel, + int strategy)); + + This is another version of deflateInit with more compression options. The + fields zalloc, zfree and opaque must be initialized before by the caller. + + The method parameter is the compression method. It must be Z_DEFLATED in + this version of the library. + + The windowBits parameter is the base two logarithm of the window size + (the size of the history buffer). It should be in the range 8..15 for this + version of the library. Larger values of this parameter result in better + compression at the expense of memory usage. The default value is 15 if + deflateInit is used instead. + + For the current implementation of deflate(), a windowBits value of 8 (a + window size of 256 bytes) is not supported. As a result, a request for 8 + will result in 9 (a 512-byte window). In that case, providing 8 to + inflateInit2() will result in an error when the zlib header with 9 is + checked against the initialization of inflate(). The remedy is to not use 8 + with deflateInit2() with this initialization, or at least in that case use 9 + with inflateInit2(). + + windowBits can also be -8..-15 for raw deflate. In this case, -windowBits + determines the window size. deflate() will then generate raw deflate data + with no zlib header or trailer, and will not compute a check value. + + windowBits can also be greater than 15 for optional gzip encoding. Add + 16 to windowBits to write a simple gzip header and trailer around the + compressed data instead of a zlib wrapper. The gzip header will have no + file name, no extra data, no comment, no modification time (set to zero), no + header crc, and the operating system will be set to the appropriate value, + if the operating system was determined at compile time. If a gzip stream is + being written, strm->adler is a CRC-32 instead of an Adler-32. + + For raw deflate or gzip encoding, a request for a 256-byte window is + rejected as invalid, since only the zlib header provides a means of + transmitting the window size to the decompressor. + + The memLevel parameter specifies how much memory should be allocated + for the internal compression state. memLevel=1 uses minimum memory but is + slow and reduces compression ratio; memLevel=9 uses maximum memory for + optimal speed. The default value is 8. See zconf.h for total memory usage + as a function of windowBits and memLevel. + + The strategy parameter is used to tune the compression algorithm. Use the + value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a + filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no + string match), or Z_RLE to limit match distances to one (run-length + encoding). Filtered data consists mostly of small values with a somewhat + random distribution. In this case, the compression algorithm is tuned to + compress them better. The effect of Z_FILTERED is to force more Huffman + coding and less string matching; it is somewhat intermediate between + Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as + fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The + strategy parameter only affects the compression ratio but not the + correctness of the compressed output even if it is not set appropriately. + Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler + decoder for special applications. + + deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid + method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is + incompatible with the version assumed by the caller (ZLIB_VERSION). msg is + set to null if there is no error message. deflateInit2 does not perform any + compression: this will be done by deflate(). +*/ + +ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm, + const Bytef *dictionary, + uInt dictLength)); +/* + Initializes the compression dictionary from the given byte sequence + without producing any compressed output. When using the zlib format, this + function must be called immediately after deflateInit, deflateInit2 or + deflateReset, and before any call of deflate. When doing raw deflate, this + function must be called either before any call of deflate, or immediately + after the completion of a deflate block, i.e. after all input has been + consumed and all output has been delivered when using any of the flush + options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The + compressor and decompressor must use exactly the same dictionary (see + inflateSetDictionary). + + The dictionary should consist of strings (byte sequences) that are likely + to be encountered later in the data to be compressed, with the most commonly + used strings preferably put towards the end of the dictionary. Using a + dictionary is most useful when the data to be compressed is short and can be + predicted with good accuracy; the data can then be compressed better than + with the default empty dictionary. + + Depending on the size of the compression data structures selected by + deflateInit or deflateInit2, a part of the dictionary may in effect be + discarded, for example if the dictionary is larger than the window size + provided in deflateInit or deflateInit2. Thus the strings most likely to be + useful should be put at the end of the dictionary, not at the front. In + addition, the current implementation of deflate will use at most the window + size minus 262 bytes of the provided dictionary. + + Upon return of this function, strm->adler is set to the Adler-32 value + of the dictionary; the decompressor may later use this value to determine + which dictionary has been used by the compressor. (The Adler-32 value + applies to the whole dictionary even if only a subset of the dictionary is + actually used by the compressor.) If a raw deflate was requested, then the + Adler-32 value is not computed and strm->adler is not set. + + deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is + inconsistent (for example if deflate has already been called for this stream + or if not at a block boundary for raw deflate). deflateSetDictionary does + not perform any compression: this will be done by deflate(). +*/ + +ZEXTERN int ZEXPORT deflateGetDictionary OF((z_streamp strm, + Bytef *dictionary, + uInt *dictLength)); +/* + Returns the sliding dictionary being maintained by deflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If deflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similarly, if dictLength is Z_NULL, then it is not set. + + deflateGetDictionary() may return a length less than the window size, even + when more than the window size in input has been provided. It may return up + to 258 bytes less in that case, due to how zlib's implementation of deflate + manages the sliding window and lookahead for matches, where matches can be + up to 258 bytes long. If the application needs the last window-size bytes of + input, then that would need to be saved by the application outside of zlib. + + deflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest, + z_streamp source)); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when several compression strategies will be + tried, for example when there are several ways of pre-processing the input + data with a filter. The streams that will be discarded should then be freed + by calling deflateEnd. Note that deflateCopy duplicates the internal + compression state which can be quite large, so this strategy is slow and can + consume lots of memory. + + deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being Z_NULL). msg is left unchanged in both source and + destination. +*/ + +ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm)); +/* + This function is equivalent to deflateEnd followed by deflateInit, but + does not free and reallocate the internal compression state. The stream + will leave the compression level and any other attributes that may have been + set unchanged. + + deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL). +*/ + +ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm, + int level, + int strategy)); +/* + Dynamically update the compression level and compression strategy. The + interpretation of level and strategy is as in deflateInit2(). This can be + used to switch between compression and straight copy of the input data, or + to switch to a different kind of input data requiring a different strategy. + If the compression approach (which is a function of the level) or the + strategy is changed, and if there have been any deflate() calls since the + state was initialized or reset, then the input available so far is + compressed with the old level and strategy using deflate(strm, Z_BLOCK). + There are three approaches for the compression levels 0, 1..3, and 4..9 + respectively. The new level and strategy will take effect at the next call + of deflate(). + + If a deflate(strm, Z_BLOCK) is performed by deflateParams(), and it does + not have enough output space to complete, then the parameter change will not + take effect. In this case, deflateParams() can be called again with the + same parameters and more output space to try again. + + In order to assure a change in the parameters on the first try, the + deflate stream should be flushed using deflate() with Z_BLOCK or other flush + request until strm.avail_out is not zero, before calling deflateParams(). + Then no more input data should be provided before the deflateParams() call. + If this is done, the old level and strategy will be applied to the data + compressed before deflateParams(), and the new level and strategy will be + applied to the the data compressed after deflateParams(). + + deflateParams returns Z_OK on success, Z_STREAM_ERROR if the source stream + state was inconsistent or if a parameter was invalid, or Z_BUF_ERROR if + there was not enough output space to complete the compression of the + available input data before a change in the strategy or approach. Note that + in the case of a Z_BUF_ERROR, the parameters are not changed. A return + value of Z_BUF_ERROR is not fatal, in which case deflateParams() can be + retried with more output space. +*/ + +ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, + int good_length, + int max_lazy, + int nice_length, + int max_chain)); +/* + Fine tune deflate's internal compression parameters. This should only be + used by someone who understands the algorithm used by zlib's deflate for + searching for the best matching string, and even then only by the most + fanatic optimizer trying to squeeze out the last compressed bit for their + specific input data. Read the deflate.c source code for the meaning of the + max_lazy, good_length, nice_length, and max_chain parameters. + + deflateTune() can be called after deflateInit() or deflateInit2(), and + returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. + */ + +ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, + uLong sourceLen)); +/* + deflateBound() returns an upper bound on the compressed size after + deflation of sourceLen bytes. It must be called after deflateInit() or + deflateInit2(), and after deflateSetHeader(), if used. This would be used + to allocate an output buffer for deflation in a single pass, and so would be + called before deflate(). If that first deflate() call is provided the + sourceLen input bytes, an output buffer allocated to the size returned by + deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed + to return Z_STREAM_END. Note that it is possible for the compressed size to + be larger than the value returned by deflateBound() if flush options other + than Z_FINISH or Z_NO_FLUSH are used. +*/ + +ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm, + unsigned *pending, + int *bits)); +/* + deflatePending() returns the number of bytes and bits of output that have + been generated, but not yet provided in the available output. The bytes not + provided would be due to the available output space having being consumed. + The number of bits of output not provided are between 0 and 7, where they + await more bits to join them in order to fill out a full byte. If pending + or bits are Z_NULL, then those values are not set. + + deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. + */ + +ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm, + int bits, + int value)); +/* + deflatePrime() inserts bits in the deflate output stream. The intent + is that this function is used to start off the deflate output with the bits + leftover from a previous deflate stream when appending to it. As such, this + function can only be used for raw deflate, and must be used before the first + deflate() call after a deflateInit2() or deflateReset(). bits must be less + than or equal to 16, and that many of the least significant bits of value + will be inserted in the output. + + deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough + room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the + source stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, + gz_headerp head)); +/* + deflateSetHeader() provides gzip header information for when a gzip + stream is requested by deflateInit2(). deflateSetHeader() may be called + after deflateInit2() or deflateReset() and before the first call of + deflate(). The text, time, os, extra field, name, and comment information + in the provided gz_header structure are written to the gzip header (xflag is + ignored -- the extra flags are set according to the compression level). The + caller must assure that, if not Z_NULL, name and comment are terminated with + a zero byte, and that if extra is not Z_NULL, that extra_len bytes are + available there. If hcrc is true, a gzip header crc is included. Note that + the current versions of the command-line version of gzip (up through version + 1.3.x) do not support header crc's, and will report that it is a "multi-part + gzip file" and give up. + + If deflateSetHeader is not used, the default gzip header has text false, + the time set to zero, and os set to 255, with no extra, name, or comment + fields. The gzip header is returned to the default state by deflateReset(). + + deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, + int windowBits)); + + This is another version of inflateInit with an extra parameter. The + fields next_in, avail_in, zalloc, zfree and opaque must be initialized + before by the caller. + + The windowBits parameter is the base two logarithm of the maximum window + size (the size of the history buffer). It should be in the range 8..15 for + this version of the library. The default value is 15 if inflateInit is used + instead. windowBits must be greater than or equal to the windowBits value + provided to deflateInit2() while compressing, or it must be equal to 15 if + deflateInit2() was not used. If a compressed stream with a larger window + size is given as input, inflate() will return with the error code + Z_DATA_ERROR instead of trying to allocate a larger window. + + windowBits can also be zero to request that inflate use the window size in + the zlib header of the compressed stream. + + windowBits can also be -8..-15 for raw inflate. In this case, -windowBits + determines the window size. inflate() will then process raw deflate data, + not looking for a zlib or gzip header, not generating a check value, and not + looking for any check values for comparison at the end of the stream. This + is for use with other formats that use the deflate compressed data format + such as zip. Those formats provide their own check values. If a custom + format is developed using the raw deflate format for compressed data, it is + recommended that a check value such as an Adler-32 or a CRC-32 be applied to + the uncompressed data as is done in the zlib, gzip, and zip formats. For + most applications, the zlib format should be used as is. Note that comments + above on the use in deflateInit2() applies to the magnitude of windowBits. + + windowBits can also be greater than 15 for optional gzip decoding. Add + 32 to windowBits to enable zlib and gzip decoding with automatic header + detection, or add 16 to decode only the gzip format (the zlib format will + return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a + CRC-32 instead of an Adler-32. Unlike the gunzip utility and gzread() (see + below), inflate() will *not* automatically decode concatenated gzip members. + inflate() will return Z_STREAM_END at the end of the gzip member. The state + would need to be reset to continue decoding a subsequent gzip member. This + *must* be done if there is more data after a gzip member, in order for the + decompression to be compliant with the gzip standard (RFC 1952). + + inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_VERSION_ERROR if the zlib library version is incompatible with the + version assumed by the caller, or Z_STREAM_ERROR if the parameters are + invalid, such as a null pointer to the structure. msg is set to null if + there is no error message. inflateInit2 does not perform any decompression + apart from possibly reading the zlib header if present: actual decompression + will be done by inflate(). (So next_in and avail_in may be modified, but + next_out and avail_out are unused and unchanged.) The current implementation + of inflateInit2() does not process any header information -- that is + deferred until inflate() is called. +*/ + +ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm, + const Bytef *dictionary, + uInt dictLength)); +/* + Initializes the decompression dictionary from the given uncompressed byte + sequence. This function must be called immediately after a call of inflate, + if that call returned Z_NEED_DICT. The dictionary chosen by the compressor + can be determined from the Adler-32 value returned by that call of inflate. + The compressor and decompressor must use exactly the same dictionary (see + deflateSetDictionary). For raw inflate, this function can be called at any + time to set the dictionary. If the provided dictionary is smaller than the + window and there is already data in the window, then the provided dictionary + will amend what's there. The application must insure that the dictionary + that was used for compression is provided. + + inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a + parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is + inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the + expected one (incorrect Adler-32 value). inflateSetDictionary does not + perform any decompression: this will be done by subsequent calls of + inflate(). +*/ + +ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm, + Bytef *dictionary, + uInt *dictLength)); +/* + Returns the sliding dictionary being maintained by inflate. dictLength is + set to the number of bytes in the dictionary, and that many bytes are copied + to dictionary. dictionary must have enough space, where 32768 bytes is + always enough. If inflateGetDictionary() is called with dictionary equal to + Z_NULL, then only the dictionary length is returned, and nothing is copied. + Similarly, if dictLength is Z_NULL, then it is not set. + + inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the + stream state is inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm)); +/* + Skips invalid compressed data until a possible full flush point (see above + for the description of deflate with Z_FULL_FLUSH) can be found, or until all + available input is skipped. No output is provided. + + inflateSync searches for a 00 00 FF FF pattern in the compressed data. + All full flush points have this pattern, but not all occurrences of this + pattern are full flush points. + + inflateSync returns Z_OK if a possible full flush point has been found, + Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point + has been found, or Z_STREAM_ERROR if the stream structure was inconsistent. + In the success case, the application may save the current current value of + total_in which indicates where valid compressed data was found. In the + error case, the application may repeatedly call inflateSync, providing more + input each time, until success or end of the input data. +*/ + +ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest, + z_streamp source)); +/* + Sets the destination stream as a complete copy of the source stream. + + This function can be useful when randomly accessing a large stream. The + first pass through the stream can periodically record the inflate state, + allowing restarting inflate at those points when randomly accessing the + stream. + + inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_STREAM_ERROR if the source stream state was inconsistent + (such as zalloc being Z_NULL). msg is left unchanged in both source and + destination. +*/ + +ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm)); +/* + This function is equivalent to inflateEnd followed by inflateInit, + but does not free and reallocate the internal decompression state. The + stream will keep attributes that may have been set by inflateInit2. + + inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL). +*/ + +ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm, + int windowBits)); +/* + This function is the same as inflateReset, but it also permits changing + the wrap and window size requests. The windowBits parameter is interpreted + the same as it is for inflateInit2. If the window size is changed, then the + memory allocated for the window is freed, and the window will be reallocated + by inflate() if needed. + + inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent (such as zalloc or state being Z_NULL), or if + the windowBits parameter is invalid. +*/ + +ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, + int bits, + int value)); +/* + This function inserts bits in the inflate input stream. The intent is + that this function is used to start inflating at a bit position in the + middle of a byte. The provided bits will be used before any bytes are used + from next_in. This function should only be used with raw inflate, and + should be used before the first inflate() call after inflateInit2() or + inflateReset(). bits must be less than or equal to 16, and that many of the + least significant bits of value will be inserted in the input. + + If bits is negative, then the input stream bit buffer is emptied. Then + inflatePrime() can be called again to put bits in the buffer. This is used + to clear out bits leftover after feeding inflate a block description prior + to feeding inflate codes. + + inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm)); +/* + This function returns two values, one in the lower 16 bits of the return + value, and the other in the remaining upper bits, obtained by shifting the + return value down 16 bits. If the upper value is -1 and the lower value is + zero, then inflate() is currently decoding information outside of a block. + If the upper value is -1 and the lower value is non-zero, then inflate is in + the middle of a stored block, with the lower value equaling the number of + bytes from the input remaining to copy. If the upper value is not -1, then + it is the number of bits back from the current bit position in the input of + the code (literal or length/distance pair) currently being processed. In + that case the lower value is the number of bytes already emitted for that + code. + + A code is being processed if inflate is waiting for more input to complete + decoding of the code, or if it has completed decoding but is waiting for + more output space to write the literal or match data. + + inflateMark() is used to mark locations in the input data for random + access, which may be at bit positions, and to note those cases where the + output of a code may span boundaries of random access blocks. The current + location in the input stream can be determined from avail_in and data_type + as noted in the description for the Z_BLOCK flush parameter for inflate. + + inflateMark returns the value noted above, or -65536 if the provided + source stream state was inconsistent. +*/ + +ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, + gz_headerp head)); +/* + inflateGetHeader() requests that gzip header information be stored in the + provided gz_header structure. inflateGetHeader() may be called after + inflateInit2() or inflateReset(), and before the first call of inflate(). + As inflate() processes the gzip stream, head->done is zero until the header + is completed, at which time head->done is set to one. If a zlib stream is + being decoded, then head->done is set to -1 to indicate that there will be + no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be + used to force inflate() to return immediately after header processing is + complete and before any actual data is decompressed. + + The text, time, xflags, and os fields are filled in with the gzip header + contents. hcrc is set to true if there is a header CRC. (The header CRC + was valid if done is set to one.) If extra is not Z_NULL, then extra_max + contains the maximum number of bytes to write to extra. Once done is true, + extra_len contains the actual extra field length, and extra contains the + extra field, or that field truncated if extra_max is less than extra_len. + If name is not Z_NULL, then up to name_max characters are written there, + terminated with a zero unless the length is greater than name_max. If + comment is not Z_NULL, then up to comm_max characters are written there, + terminated with a zero unless the length is greater than comm_max. When any + of extra, name, or comment are not Z_NULL and the respective field is not + present in the header, then that field is set to Z_NULL to signal its + absence. This allows the use of deflateSetHeader() with the returned + structure to duplicate the header. However if those fields are set to + allocated memory, then the application will need to save those pointers + elsewhere so that they can be eventually freed. + + If inflateGetHeader is not used, then the header information is simply + discarded. The header is always checked for validity, including the header + CRC if present. inflateReset() will reset the process to discard the header + information. The application would need to call inflateGetHeader() again to + retrieve the header from the next gzip stream. + + inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. +*/ + +/* +ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, + unsigned char FAR *window)); + + Initialize the internal stream state for decompression using inflateBack() + calls. The fields zalloc, zfree and opaque in strm must be initialized + before the call. If zalloc and zfree are Z_NULL, then the default library- + derived memory allocation routines are used. windowBits is the base two + logarithm of the window size, in the range 8..15. window is a caller + supplied buffer of that size. Except for special applications where it is + assured that deflate was used with small window sizes, windowBits must be 15 + and a 32K byte window must be supplied to be able to decompress general + deflate streams. + + See inflateBack() for the usage of these routines. + + inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of + the parameters are invalid, Z_MEM_ERROR if the internal state could not be + allocated, or Z_VERSION_ERROR if the version of the library does not match + the version of the header file. +*/ + +typedef unsigned (*in_func) OF((void FAR *, + z_const unsigned char FAR * FAR *)); +typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); + +ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, + in_func in, void FAR *in_desc, + out_func out, void FAR *out_desc)); +/* + inflateBack() does a raw inflate with a single call using a call-back + interface for input and output. This is potentially more efficient than + inflate() for file i/o applications, in that it avoids copying between the + output and the sliding window by simply making the window itself the output + buffer. inflate() can be faster on modern CPUs when used with large + buffers. inflateBack() trusts the application to not change the output + buffer passed by the output function, at least until inflateBack() returns. + + inflateBackInit() must be called first to allocate the internal state + and to initialize the state with the user-provided window buffer. + inflateBack() may then be used multiple times to inflate a complete, raw + deflate stream with each call. inflateBackEnd() is then called to free the + allocated state. + + A raw deflate stream is one with no zlib or gzip header or trailer. + This routine would normally be used in a utility that reads zip or gzip + files and writes out uncompressed files. The utility would decode the + header and process the trailer on its own, hence this routine expects only + the raw deflate stream to decompress. This is different from the default + behavior of inflate(), which expects a zlib header and trailer around the + deflate stream. + + inflateBack() uses two subroutines supplied by the caller that are then + called by inflateBack() for input and output. inflateBack() calls those + routines until it reads a complete deflate stream and writes out all of the + uncompressed data, or until it encounters an error. The function's + parameters and return types are defined above in the in_func and out_func + typedefs. inflateBack() will call in(in_desc, &buf) which should return the + number of bytes of provided input, and a pointer to that input in buf. If + there is no input available, in() must return zero -- buf is ignored in that + case -- and inflateBack() will return a buffer error. inflateBack() will + call out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. + out() should return zero on success, or non-zero on failure. If out() + returns non-zero, inflateBack() will return with an error. Neither in() nor + out() are permitted to change the contents of the window provided to + inflateBackInit(), which is also the buffer that out() uses to write from. + The length written by out() will be at most the window size. Any non-zero + amount of input may be provided by in(). + + For convenience, inflateBack() can be provided input on the first call by + setting strm->next_in and strm->avail_in. If that input is exhausted, then + in() will be called. Therefore strm->next_in must be initialized before + calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called + immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in + must also be initialized, and then if strm->avail_in is not zero, input will + initially be taken from strm->next_in[0 .. strm->avail_in - 1]. + + The in_desc and out_desc parameters of inflateBack() is passed as the + first parameter of in() and out() respectively when they are called. These + descriptors can be optionally used to pass any information that the caller- + supplied in() and out() functions need to do their job. + + On return, inflateBack() will set strm->next_in and strm->avail_in to + pass back any unused input that was provided by the last in() call. The + return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR + if in() or out() returned an error, Z_DATA_ERROR if there was a format error + in the deflate stream (in which case strm->msg is set to indicate the nature + of the error), or Z_STREAM_ERROR if the stream was not properly initialized. + In the case of Z_BUF_ERROR, an input or output error can be distinguished + using strm->next_in which will be Z_NULL only if in() returned an error. If + strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning + non-zero. (in() will always be called before out(), so strm->next_in is + assured to be defined if out() returns non-zero.) Note that inflateBack() + cannot return Z_OK. +*/ + +ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); +/* + All memory allocated by inflateBackInit() is freed. + + inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream + state was inconsistent. +*/ + +ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void)); +/* Return flags indicating compile-time options. + + Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other: + 1.0: size of uInt + 3.2: size of uLong + 5.4: size of voidpf (pointer) + 7.6: size of z_off_t + + Compiler, assembler, and debug options: + 8: ZLIB_DEBUG + 9: ASMV or ASMINF -- use ASM code + 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention + 11: 0 (reserved) + + One-time table building (smaller code, but not thread-safe if true): + 12: BUILDFIXED -- build static block decoding tables when needed + 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed + 14,15: 0 (reserved) + + Library content (indicates missing functionality): + 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking + deflate code when not needed) + 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect + and decode gzip streams (to avoid linking crc code) + 18-19: 0 (reserved) + + Operation variations (changes in library functionality): + 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate + 21: FASTEST -- deflate algorithm with only one, lowest compression level + 22,23: 0 (reserved) + + The sprintf variant used by gzprintf (zero is best): + 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format + 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure! + 26: 0 = returns value, 1 = void -- 1 means inferred string length returned + + Remainder: + 27-31: 0 (reserved) + */ + +#ifndef Z_SOLO + + /* utility functions */ + +/* + The following utility functions are implemented on top of the basic + stream-oriented functions. To simplify the interface, some default options + are assumed (compression level and memory usage, standard memory allocation + functions). The source code of these utility functions can be modified if + you need special options. +*/ + +ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen)); +/* + Compresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. compress() is equivalent to compress2() with a level + parameter of Z_DEFAULT_COMPRESSION. + + compress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer. +*/ + +ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen, + int level)); +/* + Compresses the source buffer into the destination buffer. The level + parameter has the same meaning as in deflateInit. sourceLen is the byte + length of the source buffer. Upon entry, destLen is the total size of the + destination buffer, which must be at least the value returned by + compressBound(sourceLen). Upon exit, destLen is the actual size of the + compressed data. + + compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough + memory, Z_BUF_ERROR if there was not enough room in the output buffer, + Z_STREAM_ERROR if the level parameter is invalid. +*/ + +ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen)); +/* + compressBound() returns an upper bound on the compressed size after + compress() or compress2() on sourceLen bytes. It would be used before a + compress() or compress2() call to allocate the destination buffer. +*/ + +ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong sourceLen)); +/* + Decompresses the source buffer into the destination buffer. sourceLen is + the byte length of the source buffer. Upon entry, destLen is the total size + of the destination buffer, which must be large enough to hold the entire + uncompressed data. (The size of the uncompressed data must have been saved + previously by the compressor and transmitted to the decompressor by some + mechanism outside the scope of this compression library.) Upon exit, destLen + is the actual size of the uncompressed data. + + uncompress returns Z_OK if success, Z_MEM_ERROR if there was not + enough memory, Z_BUF_ERROR if there was not enough room in the output + buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In + the case where there is not enough room, uncompress() will fill the output + buffer with the uncompressed data up to that point. +*/ + +ZEXTERN int ZEXPORT uncompress2 OF((Bytef *dest, uLongf *destLen, + const Bytef *source, uLong *sourceLen)); +/* + Same as uncompress, except that sourceLen is a pointer, where the + length of the source is *sourceLen. On return, *sourceLen is the number of + source bytes consumed. +*/ + + /* gzip file access functions */ + +/* + This library supports reading and writing files in gzip (.gz) format with + an interface similar to that of stdio, using the functions that start with + "gz". The gzip format is different from the zlib format. gzip is a gzip + wrapper, documented in RFC 1952, wrapped around a deflate stream. +*/ + +typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */ + +/* +ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode)); + + Open the gzip (.gz) file at path for reading and decompressing, or + compressing and writing. The mode parameter is as in fopen ("rb" or "wb") + but can also include a compression level ("wb9") or a strategy: 'f' for + filtered data as in "wb6f", 'h' for Huffman-only compression as in "wb1h", + 'R' for run-length encoding as in "wb1R", or 'F' for fixed code compression + as in "wb9F". (See the description of deflateInit2 for more information + about the strategy parameter.) 'T' will request transparent writing or + appending with no compression and not using the gzip format. + + "a" can be used instead of "w" to request that the gzip stream that will + be written be appended to the file. "+" will result in an error, since + reading and writing to the same gzip file is not supported. The addition of + "x" when writing will create the file exclusively, which fails if the file + already exists. On systems that support it, the addition of "e" when + reading or writing will set the flag to close the file on an execve() call. + + These functions, as well as gzip, will read and decode a sequence of gzip + streams in a file. The append function of gzopen() can be used to create + such a file. (Also see gzflush() for another way to do this.) When + appending, gzopen does not test whether the file begins with a gzip stream, + nor does it look for the end of the gzip streams to begin appending. gzopen + will simply append a gzip stream to the existing file. + + gzopen can be used to read a file which is not in gzip format; in this + case gzread will directly read from the file without decompression. When + reading, this will be detected automatically by looking for the magic two- + byte gzip header. + + gzopen returns NULL if the file could not be opened, if there was + insufficient memory to allocate the gzFile state, or if an invalid mode was + specified (an 'r', 'w', or 'a' was not provided, or '+' was provided). + errno can be checked to determine if the reason gzopen failed was that the + file could not be opened. +*/ + +ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode)); +/* + Associate a gzFile with the file descriptor fd. File descriptors are + obtained from calls like open, dup, creat, pipe or fileno (if the file has + been previously opened with fopen). The mode parameter is as in gzopen. + + The next call of gzclose on the returned gzFile will also close the file + descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor + fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd, + mode);. The duplicated descriptor should be saved to avoid a leak, since + gzdopen does not close fd if it fails. If you are using fileno() to get the + file descriptor from a FILE *, then you will have to use dup() to avoid + double-close()ing the file descriptor. Both gzclose() and fclose() will + close the associated file descriptor, so they need to have different file + descriptors. + + gzdopen returns NULL if there was insufficient memory to allocate the + gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not + provided, or '+' was provided), or if fd is -1. The file descriptor is not + used until the next gz* read, write, seek, or close operation, so gzdopen + will not detect if fd is invalid (unless fd is -1). +*/ + +ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size)); +/* + Set the internal buffer size used by this library's functions for file to + size. The default buffer size is 8192 bytes. This function must be called + after gzopen() or gzdopen(), and before any other calls that read or write + the file. The buffer memory allocation is always deferred to the first read + or write. Three times that size in buffer space is allocated. A larger + buffer size of, for example, 64K or 128K bytes will noticeably increase the + speed of decompression (reading). + + The new buffer size also affects the maximum length for gzprintf(). + + gzbuffer() returns 0 on success, or -1 on failure, such as being called + too late. +*/ + +ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy)); +/* + Dynamically update the compression level and strategy for file. See the + description of deflateInit2 for the meaning of these parameters. Previously + provided data is flushed before applying the parameter changes. + + gzsetparams returns Z_OK if success, Z_STREAM_ERROR if the file was not + opened for writing, Z_ERRNO if there is an error writing the flushed data, + or Z_MEM_ERROR if there is a memory allocation error. +*/ + +ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len)); +/* + Read and decompress up to len uncompressed bytes from file into buf. If + the input file is not in gzip format, gzread copies the given number of + bytes into the buffer directly from the file. + + After reaching the end of a gzip stream in the input, gzread will continue + to read, looking for another gzip stream. Any number of gzip streams may be + concatenated in the input file, and will all be decompressed by gzread(). + If something other than a gzip stream is encountered after a gzip stream, + that remaining trailing garbage is ignored (and no error is returned). + + gzread can be used to read a gzip file that is being concurrently written. + Upon reaching the end of the input, gzread will return with the available + data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then + gzclearerr can be used to clear the end of file indicator in order to permit + gzread to be tried again. Z_OK indicates that a gzip stream was completed + on the last gzread. Z_BUF_ERROR indicates that the input file ended in the + middle of a gzip stream. Note that gzread does not return -1 in the event + of an incomplete gzip stream. This error is deferred until gzclose(), which + will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip + stream. Alternatively, gzerror can be used before gzclose to detect this + case. + + gzread returns the number of uncompressed bytes actually read, less than + len for end of file, or -1 for error. If len is too large to fit in an int, + then nothing is read, -1 is returned, and the error state is set to + Z_STREAM_ERROR. +*/ + +ZEXTERN z_size_t ZEXPORT gzfread OF((voidp buf, z_size_t size, z_size_t nitems, + gzFile file)); +/* + Read and decompress up to nitems items of size size from file into buf, + otherwise operating as gzread() does. This duplicates the interface of + stdio's fread(), with size_t request and return types. If the library + defines size_t, then z_size_t is identical to size_t. If not, then z_size_t + is an unsigned integer type that can contain a pointer. + + gzfread() returns the number of full items read of size size, or zero if + the end of the file was reached and a full item could not be read, or if + there was an error. gzerror() must be consulted if zero is returned in + order to determine if there was an error. If the multiplication of size and + nitems overflows, i.e. the product does not fit in a z_size_t, then nothing + is read, zero is returned, and the error state is set to Z_STREAM_ERROR. + + In the event that the end of file is reached and only a partial item is + available at the end, i.e. the remaining uncompressed data length is not a + multiple of size, then the final partial item is nevertheless read into buf + and the end-of-file flag is set. The length of the partial item read is not + provided, but could be inferred from the result of gztell(). This behavior + is the same as the behavior of fread() implementations in common libraries, + but it prevents the direct use of gzfread() to read a concurrently written + file, resetting and retrying on end-of-file, when size is not 1. +*/ + +ZEXTERN int ZEXPORT gzwrite OF((gzFile file, voidpc buf, unsigned len)); +/* + Compress and write the len uncompressed bytes at buf to file. gzwrite + returns the number of uncompressed bytes written or 0 in case of error. +*/ + +ZEXTERN z_size_t ZEXPORT gzfwrite OF((voidpc buf, z_size_t size, + z_size_t nitems, gzFile file)); +/* + Compress and write nitems items of size size from buf to file, duplicating + the interface of stdio's fwrite(), with size_t request and return types. If + the library defines size_t, then z_size_t is identical to size_t. If not, + then z_size_t is an unsigned integer type that can contain a pointer. + + gzfwrite() returns the number of full items written of size size, or zero + if there was an error. If the multiplication of size and nitems overflows, + i.e. the product does not fit in a z_size_t, then nothing is written, zero + is returned, and the error state is set to Z_STREAM_ERROR. +*/ + +ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...)); +/* + Convert, format, compress, and write the arguments (...) to file under + control of the string format, as in fprintf. gzprintf returns the number of + uncompressed bytes actually written, or a negative zlib error code in case + of error. The number of uncompressed bytes written is limited to 8191, or + one less than the buffer size given to gzbuffer(). The caller should assure + that this limit is not exceeded. If it is exceeded, then gzprintf() will + return an error (0) with nothing written. In this case, there may also be a + buffer overflow with unpredictable consequences, which is possible only if + zlib was compiled with the insecure functions sprintf() or vsprintf(), + because the secure snprintf() or vsnprintf() functions were not available. + This can be determined using zlibCompileFlags(). +*/ + +ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s)); +/* + Compress and write the given null-terminated string s to file, excluding + the terminating null character. + + gzputs returns the number of characters written, or -1 in case of error. +*/ + +ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len)); +/* + Read and decompress bytes from file into buf, until len-1 characters are + read, or until a newline character is read and transferred to buf, or an + end-of-file condition is encountered. If any characters are read or if len + is one, the string is terminated with a null character. If no characters + are read due to an end-of-file or len is less than one, then the buffer is + left untouched. + + gzgets returns buf which is a null-terminated string, or it returns NULL + for end-of-file or in case of error. If there was an error, the contents at + buf are indeterminate. +*/ + +ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c)); +/* + Compress and write c, converted to an unsigned char, into file. gzputc + returns the value that was written, or -1 in case of error. +*/ + +ZEXTERN int ZEXPORT gzgetc OF((gzFile file)); +/* + Read and decompress one byte from file. gzgetc returns this byte or -1 + in case of end of file or error. This is implemented as a macro for speed. + As such, it does not do all of the checking the other functions do. I.e. + it does not check to see if file is NULL, nor whether the structure file + points to has been clobbered or not. +*/ + +ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file)); +/* + Push c back onto the stream for file to be read as the first character on + the next read. At least one character of push-back is always allowed. + gzungetc() returns the character pushed, or -1 on failure. gzungetc() will + fail if c is -1, and may fail if a character has been pushed but not read + yet. If gzungetc is used immediately after gzopen or gzdopen, at least the + output buffer size of pushed characters is allowed. (See gzbuffer above.) + The pushed character will be discarded if the stream is repositioned with + gzseek() or gzrewind(). +*/ + +ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush)); +/* + Flush all pending output to file. The parameter flush is as in the + deflate() function. The return value is the zlib error number (see function + gzerror below). gzflush is only permitted when writing. + + If the flush parameter is Z_FINISH, the remaining data is written and the + gzip stream is completed in the output. If gzwrite() is called again, a new + gzip stream will be started in the output. gzread() is able to read such + concatenated gzip streams. + + gzflush should be called only when strictly necessary because it will + degrade compression if called too often. +*/ + +/* +ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file, + z_off_t offset, int whence)); + + Set the starting position to offset relative to whence for the next gzread + or gzwrite on file. The offset represents a number of bytes in the + uncompressed data stream. The whence parameter is defined as in lseek(2); + the value SEEK_END is not supported. + + If the file is opened for reading, this function is emulated but can be + extremely slow. If the file is opened for writing, only forward seeks are + supported; gzseek then compresses a sequence of zeroes up to the new + starting position. + + gzseek returns the resulting offset location as measured in bytes from + the beginning of the uncompressed stream, or -1 in case of error, in + particular if the file is opened for writing and the new starting position + would be before the current position. +*/ + +ZEXTERN int ZEXPORT gzrewind OF((gzFile file)); +/* + Rewind file. This function is supported only for reading. + + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET). +*/ + +/* +ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file)); + + Return the starting position for the next gzread or gzwrite on file. + This position represents a number of bytes in the uncompressed data stream, + and is zero when starting, even if appending or reading a gzip stream from + the middle of a file using gzdopen(). + + gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR) +*/ + +/* +ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file)); + + Return the current compressed (actual) read or write offset of file. This + offset includes the count of bytes that precede the gzip stream, for example + when appending or when using gzdopen() for reading. When reading, the + offset does not include as yet unused buffered input. This information can + be used for a progress indicator. On error, gzoffset() returns -1. +*/ + +ZEXTERN int ZEXPORT gzeof OF((gzFile file)); +/* + Return true (1) if the end-of-file indicator for file has been set while + reading, false (0) otherwise. Note that the end-of-file indicator is set + only if the read tried to go past the end of the input, but came up short. + Therefore, just like feof(), gzeof() may return false even if there is no + more data to read, in the event that the last read request was for the exact + number of bytes remaining in the input file. This will happen if the input + file size is an exact multiple of the buffer size. + + If gzeof() returns true, then the read functions will return no more data, + unless the end-of-file indicator is reset by gzclearerr() and the input file + has grown since the previous end of file was detected. +*/ + +ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); +/* + Return true (1) if file is being copied directly while reading, or false + (0) if file is a gzip stream being decompressed. + + If the input file is empty, gzdirect() will return true, since the input + does not contain a gzip stream. + + If gzdirect() is used immediately after gzopen() or gzdopen() it will + cause buffers to be allocated to allow reading the file to determine if it + is a gzip file. Therefore if gzbuffer() is used, it should be called before + gzdirect(). + + When writing, gzdirect() returns true (1) if transparent writing was + requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note: + gzdirect() is not needed when writing. Transparent writing must be + explicitly requested, so the application already knows the answer. When + linking statically, using gzdirect() will include all of the zlib code for + gzip file reading and decompression, which may not be desired.) +*/ + +ZEXTERN int ZEXPORT gzclose OF((gzFile file)); +/* + Flush all pending output for file, if necessary, close file and + deallocate the (de)compression state. Note that once file is closed, you + cannot call gzerror with file, since its structures have been deallocated. + gzclose must not be called more than once on the same file, just as free + must not be called more than once on the same allocation. + + gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a + file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the + last read ended in the middle of a gzip stream, or Z_OK on success. +*/ + +ZEXTERN int ZEXPORT gzclose_r OF((gzFile file)); +ZEXTERN int ZEXPORT gzclose_w OF((gzFile file)); +/* + Same as gzclose(), but gzclose_r() is only for use when reading, and + gzclose_w() is only for use when writing or appending. The advantage to + using these instead of gzclose() is that they avoid linking in zlib + compression or decompression code that is not used when only reading or only + writing respectively. If gzclose() is used, then both compression and + decompression code will be included the application when linking to a static + zlib library. +*/ + +ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum)); +/* + Return the error message for the last error which occurred on file. + errnum is set to zlib error number. If an error occurred in the file system + and not in the compression library, errnum is set to Z_ERRNO and the + application may consult errno to get the exact error code. + + The application must not modify the returned string. Future calls to + this function may invalidate the previously returned string. If file is + closed, then the string previously returned by gzerror will no longer be + available. + + gzerror() should be used to distinguish errors from end-of-file for those + functions above that do not distinguish those cases in their return values. +*/ + +ZEXTERN void ZEXPORT gzclearerr OF((gzFile file)); +/* + Clear the error and end-of-file flags for file. This is analogous to the + clearerr() function in stdio. This is useful for continuing to read a gzip + file that is being written concurrently. +*/ + +#endif /* !Z_SOLO */ + + /* checksum functions */ + +/* + These functions are not related to compression but are exported + anyway because they might be useful in applications using the compression + library. +*/ + +ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); +/* + Update a running Adler-32 checksum with the bytes buf[0..len-1] and + return the updated checksum. An Adler-32 value is in the range of a 32-bit + unsigned integer. If buf is Z_NULL, this function returns the required + initial value for the checksum. + + An Adler-32 checksum is almost as reliable as a CRC-32 but can be computed + much faster. + + Usage example: + + uLong adler = adler32(0L, Z_NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + adler = adler32(adler, buffer, length); + } + if (adler != original_adler) error(); +*/ + +ZEXTERN uLong ZEXPORT adler32_z OF((uLong adler, const Bytef *buf, + z_size_t len)); +/* + Same as adler32(), but with a size_t length. +*/ + +/* +ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, + z_off_t len2)); + + Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 + and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for + each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of + seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note + that the z_off_t type (like off_t) is a signed integer. If len2 is + negative, the result has no meaning or utility. +*/ + +ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); +/* + Update a running CRC-32 with the bytes buf[0..len-1] and return the + updated CRC-32. A CRC-32 value is in the range of a 32-bit unsigned integer. + If buf is Z_NULL, this function returns the required initial value for the + crc. Pre- and post-conditioning (one's complement) is performed within this + function so it shouldn't be done by the application. + + Usage example: + + uLong crc = crc32(0L, Z_NULL, 0); + + while (read_buffer(buffer, length) != EOF) { + crc = crc32(crc, buffer, length); + } + if (crc != original_crc) error(); +*/ + +ZEXTERN uLong ZEXPORT crc32_z OF((uLong crc, const Bytef *buf, + z_size_t len)); +/* + Same as crc32(), but with a size_t length. +*/ + +/* +ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); + + Combine two CRC-32 check values into one. For two sequences of bytes, + seq1 and seq2 with lengths len1 and len2, CRC-32 check values were + calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 + check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and + len2. +*/ + +/* +ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t len2)); + + Return the operator corresponding to length len2, to be used with + crc32_combine_op(). +*/ + +ZEXTERN uLong ZEXPORT crc32_combine_op OF((uLong crc1, uLong crc2, uLong op)); +/* + Give the same result as crc32_combine(), using op in place of len2. op is + is generated from len2 by crc32_combine_gen(). This will be faster than + crc32_combine() if the generated op is used more than once. +*/ + + + /* various hacks, don't look :) */ + +/* deflateInit and inflateInit are macros to allow checking the zlib version + * and the compiler's view of z_stream: + */ +ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method, + int windowBits, int memLevel, + int strategy, const char *version, + int stream_size)); +ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, + const char *version, int stream_size)); +ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, + unsigned char FAR *window, + const char *version, + int stream_size)); +#ifdef Z_PREFIX_SET +# define z_deflateInit(strm, level) \ + deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_inflateInit(strm) \ + inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +# define z_inflateInit2(strm, windowBits) \ + inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ + (int)sizeof(z_stream)) +# define z_inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), \ + ZLIB_VERSION, (int)sizeof(z_stream)) +#else +# define deflateInit(strm, level) \ + deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream)) +# define inflateInit(strm) \ + inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream)) +# define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \ + deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\ + (strategy), ZLIB_VERSION, (int)sizeof(z_stream)) +# define inflateInit2(strm, windowBits) \ + inflateInit2_((strm), (windowBits), ZLIB_VERSION, \ + (int)sizeof(z_stream)) +# define inflateBackInit(strm, windowBits, window) \ + inflateBackInit_((strm), (windowBits), (window), \ + ZLIB_VERSION, (int)sizeof(z_stream)) +#endif + +#ifndef Z_SOLO + +/* gzgetc() macro and its supporting function and exposed data structure. Note + * that the real internal state is much larger than the exposed structure. + * This abbreviated structure exposes just enough for the gzgetc() macro. The + * user should not mess with these exposed elements, since their names or + * behavior could change in the future, perhaps even capriciously. They can + * only be used by the gzgetc() macro. You have been warned. + */ +struct gzFile_s { + unsigned have; + unsigned char *next; + z_off64_t pos; +}; +ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */ +#ifdef Z_PREFIX_SET +# undef z_gzgetc +# define z_gzgetc(g) \ + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) +#else +# define gzgetc(g) \ + ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : (gzgetc)(g)) +#endif + +/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or + * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if + * both are true, the application gets the *64 functions, and the regular + * functions are changed to 64 bits) -- in case these are set on systems + * without large file support, _LFS64_LARGEFILE must also be true + */ +#ifdef Z_LARGE64 + ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); + ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int)); + ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile)); + ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile)); + ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t)); + ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off64_t)); +#endif + +#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64) +# ifdef Z_PREFIX_SET +# define z_gzopen z_gzopen64 +# define z_gzseek z_gzseek64 +# define z_gztell z_gztell64 +# define z_gzoffset z_gzoffset64 +# define z_adler32_combine z_adler32_combine64 +# define z_crc32_combine z_crc32_combine64 +# define z_crc32_combine_gen z_crc32_combine_gen64 +# else +# define gzopen gzopen64 +# define gzseek gzseek64 +# define gztell gztell64 +# define gzoffset gzoffset64 +# define adler32_combine adler32_combine64 +# define crc32_combine crc32_combine64 +# define crc32_combine_gen crc32_combine_gen64 +# endif +# ifndef Z_LARGE64 + ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *)); + ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int)); + ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile)); + ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile)); + ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen64 OF((z_off_t)); +# endif +#else + ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *)); + ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int)); + ZEXTERN z_off_t ZEXPORT gztell OF((gzFile)); + ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile)); + ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t)); +#endif + +#else /* Z_SOLO */ + + ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t)); + ZEXTERN uLong ZEXPORT crc32_combine_gen OF((z_off_t)); + +#endif /* !Z_SOLO */ + +/* undocumented functions */ +ZEXTERN const char * ZEXPORT zError OF((int)); +ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp)); +ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void)); +ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int)); +ZEXTERN int ZEXPORT inflateValidate OF((z_streamp, int)); +ZEXTERN unsigned long ZEXPORT inflateCodesUsed OF((z_streamp)); +ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp)); +ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp)); +#if defined(_WIN32) && !defined(Z_SOLO) +ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path, + const char *mode)); +#endif +#if defined(STDC) || defined(Z_HAVE_STDARG_H) +# ifndef Z_SOLO +ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file, + const char *format, + va_list va)); +# endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* ZLIB_H */ diff --git a/json/json.h b/json/json.h new file mode 100644 index 0000000..5c776a1 --- /dev/null +++ b/json/json.h @@ -0,0 +1,15 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_JSON_H_INCLUDED +#define JSON_JSON_H_INCLUDED + +#include "config.h" +#include "json_features.h" +#include "reader.h" +#include "value.h" +#include "writer.h" + +#endif // JSON_JSON_H_INCLUDED diff --git a/json/json_features.h b/json/json_features.h new file mode 100644 index 0000000..7c7e9f5 --- /dev/null +++ b/json/json_features.h @@ -0,0 +1,61 @@ +// Copyright 2007-2010 Baptiste Lepilleur and The JsonCpp Authors +// Distributed under MIT license, or public domain if desired and +// recognized in your jurisdiction. +// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE + +#ifndef JSON_FEATURES_H_INCLUDED +#define JSON_FEATURES_H_INCLUDED + +#if !defined(JSON_IS_AMALGAMATION) +#include "forwards.h" +#endif // if !defined(JSON_IS_AMALGAMATION) + +#pragma pack(push, 8) + +namespace Json { + +/** \brief Configuration passed to reader and writer. + * This configuration object can be used to force the Reader or Writer + * to behave in a standard conforming way. + */ +class JSON_API Features { +public: + /** \brief A configuration that allows all features and assumes all strings + * are UTF-8. + * - C & C++ comments are allowed + * - Root object can be any JSON value + * - Assumes Value strings are encoded in UTF-8 + */ + static Features all(); + + /** \brief A configuration that is strictly compatible with the JSON + * specification. + * - Comments are forbidden. + * - Root object must be either an array or an object value. + * - Assumes Value strings are encoded in UTF-8 + */ + static Features strictMode(); + + /** \brief Initialize the configuration like JsonConfig::allFeatures; + */ + Features(); + + /// \c true if comments are allowed. Default: \c true. + bool allowComments_{true}; + + /// \c true if root must be either an array or an object value. Default: \c + /// false. + bool strictRoot_{false}; + + /// \c true if dropped null placeholders are allowed. Default: \c false. + bool allowDroppedNullPlaceholders_{false}; + + /// \c true if numeric object key are allowed. Default: \c false. + bool allowNumericKeys_{false}; +}; + +} // namespace Json + +#pragma pack(pop) + +#endif // JSON_FEATURES_H_INCLUDED diff --git a/json/jsoncpp.dll b/json/jsoncpp.dll new file mode 100644 index 0000000000000000000000000000000000000000..779b2d9563d7fcdf0356c2d5a3738586b811bb55 GIT binary patch literal 200704 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 F{U2D3CL90& literal 0 HcmV?d00001 diff --git a/json/jsoncpp.exp b/json/jsoncpp.exp new file mode 100644 index 0000000000000000000000000000000000000000..fbbcaa48d01fe6999147475b486136b02e130dd7 GIT binary patch literal 83029 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 E52XgULI3~& literal 0 HcmV?d00001 diff --git a/json/jsoncpp.lib b/json/jsoncpp.lib new file mode 100644 index 0000000000000000000000000000000000000000..5999f570d3a036e424d9c4835c09ac58b4345c59 GIT binary patch literal 136340 zcmeHw33yf2@%XuMN2`{qwbm*kE^S>%2#c-tB_SYz5F%k!G(M6CJV^4wdoKahB3iXp zt-I8HY1OJ#+q%`IDpJJ_Q4z&jMZ^skKoJ!!;(z9xyPR|HoV(<{7wrH0`F&$T?wpx9 zbLPyMv(4G>$Yi!@+EG0Y@1_2CXsP;d>tB7%U&>4S4eZZ*9>|QN zCo$vAWz6``WPla$`-#kWZ7nn27{iPetKs)fX1oqK_il!tfcK~C1#G^Z83=V71k8Gz z861v+p8&(}5zx_-83^sS2$*m_GdT2sp8%(PZ9+Tz1ZaCfz^IRz!C^Z51egtf=P(R@ z0!&;i;DR%lf$*0l0_N_-41`~wF5t@(n85+${1RXjd_#B+cq4p$mVoPyWd=g#K>-cG z6Jhjw0!~`R3=R|ECqM>dKse@)CV(!F0hsfu3FF`=z;90yaQ0kgAj}8)2xnYs!nW`e z;NmL$vzdYLchDumJ$+1g27UruKSjVgkQ?EKashu`%M65noi5-purm&zqsIWQ zTO#0_9#9{EJ6;#Cs-77L?LY@%+15FOo;U~b1_XM z2q!KSkc4_5G+ij58Dv99-X>r&@Zzu!`~*1hNCAy!GXtUd6akGu6XAr51>``t2&YvE zn74o#2;UxN!tL-A;Lgbc{tCJWC}E#)F#b@%1pE_z0$hHN34`D#z*(CGoLvI_72x)# z1l)8ZGZ1ct`XW5BwSYfE{SaCRPOqdKm0bT^U2+!{%VA)zI5AgDP0-gh22ronZ5te{H5jI^a z;DNs}1K~p8g>ZYlfDQLC1L3?A1)K}?5Y9i(1hBjF0Um}nL0CRPz>T0A4tv8-fM*w* zFbsYIocEf53%~{t&beN|@1Z=xxyK541nP?LFw`I6pS1!WdWIPY_stWqejGCpKAkUM z!yzCy!1`AOd4nvfG?IZgF`j^ z1Q>g*fQFA@90C|K%>4)7|}hXa&(72uD13Rqmn420#NAB1NH z30PUr41^Vv1iS${M)(KxHx66FPk^Ux6L4=Q!~y_!K${{wf3|=-S3-XSm=50%((?pN zIfWSrsnr6S*F(PsI2~{i(m)$wTDyR$Yng#CWs`v4%w-0`$dd%regb|Ipz}Zh#|~!( z!d$RxgyV(^ICXDkAk4@LnEnOG1#o6B0c{f?&Hxw*d=NVC7mx+LBOE_pz&y|sLUtbk zlR#Gpr-D8Zu6>YB%tu8<}xUJN$hL{2OGt2I_O{VgWOIGXtUZ6%Hl4 zf^Pyaj$0yN=GE{W;H^73lx(#dLoj}~RKQnIcZ3}9LZ~}Mz=H>a9Rl1B^+R|Ez5$f% zFkHa*hq4j?thmx&9c7$zu3)uEXR)Vk{&_dYeH38d$9uc;>je~Jk zJ^1SeF^`l0QX{;X7FnDxL{g_ds8>i9*Qrc4{h@uW8Fyj7zq3q$-93(Ta+)#^F^qR&sVEtg&8VBOGGs zHqYl_&e!B@|F2%!HBMnpdO*2fMS!|L0y6MmIN~>_rX)LB@}pD9mila}DVlF^!mu8s(4B^{UVUK;1k#oTv7`YE9-zMSE1L(>kSkn3mA{PK1G~|={bW;QP!?vk%m#!aDRV}%l zAiPAPilkIkiG&=#9E6r=Y6O2<5sFqARL~wttFltxE@2A<(w0?iw~aq_xkw_H$`8)8 zwx(Qh23q_CRO|S1^K*SmvMI&!%A~QPtHlHPHjaqNSx*3YkD1f14*Sqll@rF7^N@jm zbk#CsfkZl2+0v3}O6F6|N>~BIS7l?JW2Aw2C}oY77zo=~=k%RWxQRsLP&p*xZR|*- z`3l~&KAE3ZnVs6fTVEQIrLulF-~n_Lh(SFV)rX#J+E#DSGMAB|pJ^ED`*7F-fwW~o zEU5#;k&BouBzsnO%ecOo8kGO4X$cyIC@%|S)q!hXrXVAkT9H2cYuXP{OG{>GNyRnm zr6!{$5`%b0smZ6Z$$TbTmCRWauw!^X_G&A1fkfhnsI)^DNFtKA#q6y4;nzAtFV0;+4VU4UgWvyHAnXTk8=&xicv~_z` zNm)N4hkv25XL2%^=Cd!HG**vI^l6%w%r@q;$#gzfQC*SCH&;{u z8Z5$Lv<(X})fEu3^FKSmtL*f;8JO1i*PKwTX{M)+#*%%7N%H7Sla1m z!o_mYj=BcyOf_Lg9qU3@n_KDA{;0xo#s8HSb}`sO@+8_ja?`{jq{hpM$ft}i!N;<1 zCr<5Fp50i(zFVS-$TTrElWA5>RLlV-i_>Ey!1Feb$;?Q#sU*NZ!*URMY4H&@mYfPk zDwD{~NVhk%!{VIF%#pOL$PB8?!pxfRa0#&9QssN`AE(nLI!0P+raY}U^t&<^M^H7r77HjQ?#_0%W z;~^t2N+KOUG)`yKM`bpfoD-2n=rW1sR1@sV>J+A}N7Q1`_@FPa z#skL{MB?cpVe;2o7~&J|NAL_^EE*qVTA;BmlAwj)Yu3~}H9&MFUyX(@7L5-w)mctR zo-Pt5|FLap>?nf)>N9EBAquK7kio$M0e-D#kH)T3g*`e7?D-r05CKzAN#pN4lt}v%7 zg>CItwl$9y?2E5wZ5=F?Z&_gyO&!@RY~gCgZfFPFK{&xzq%t_mt4qz!4~9h;ueznp z_dqCYQXpOc5a~c-sCsB(gnlf$qWV$U^mzssPq*~@+@c-Bt z($q0DexeN*rdrY`rG|{Eb(1YbOG!d?2P-_a2En~{-IxBVUH4Vb3u@MT1rkX^-iEMN z+zBc&8tjaCYJjE$T!>wlU{oJ^GFwYJEpr(ew2Tf?VeUB@sKtQNLzB2dHm5?1V~G=t z33}I3^Q`&@Vg^zZZ6L2=1o4+jKwJ1qAlg~1ll4_%i0B2OCLZm2^r6MjmiF49hK+*= zwI=!KtvVdKB4brYx<%jZB^hZ%#iCUdAH${*6K$zkQVpD6-RO9ruX3F89X58Huq7Um zL?<})X4r9%x|qsdEbckmY_dsrt#Bey>D0x|Oq`t%ft&DT1)3apFH=0NRxQrp=d`MA zz=+NXMWwO7ONHeV_BsXYSvsfl!b+v?f;V8i9~-(w~-Zy z1z?cFAHpy6l{8T_x{U+f*B=H{RajSD5{(0i)BP%f=cu{*nJ_M)Ar;NBXVW-!pVdx+ zSkOD&Rp0}Amo1PVCUCq|vB<+1>z3Oyw(1ZPv!*5U72dDzGx0%apgW?0x%$vab+r$B zG+0a~PzR3<7QP0>W07dbad@ zREnOoH%M^9uT&{%b(koHU#U`!!{z?yk(Yla%Z>0aho7l((iwX~O8iQdQkQ^;f+m8l zth6|wDa?1KiEr3hmD?Wy4NT)xauw7Kcp9z{)G4Xu<6nfj_-Cpd%Hvw(AZ51KI6PnF zbpbmX^u>a4!1LYd@AOBA8{K6vZlGhuKukR~sx~^#GHxO_E7`7Ggh7uy!3=SnJ{g3@ z>C`9Zv}BU%y&65a5ZJJO*gl7nt_lM%N4g+1PREBIK`sP#BJaMWgmcqGrR=}u5g{yk zA~9061iYE#HF#g7M4~PX4PT^0qCN}_U!+80R2Uk*NY-r+`}jYt4{^gogJj+6(0sNW zfVjz_K>{mkg^7-OFAbZV-`j8*WFTfDnHy~G;kz}2qmScQ0`Y*7hEUvva9N1ru`o|4 z;&B|eCUAp*Z&^ztF6`K7WKpm|EAEsCyshLq=@6i-Ct(5>u8|9CF$8B|r7KYVG$#s76_*TQM&u)dg5#0F{^}!xf`buhc2{`5f9o|)UJmcq8X&6)=dNNyUtk5!-kv*1U@4>iMgj^=-M)T0It;?T|8_h$< zW`s>#s6|~}WeUN=Qvio3oE#>2J&}2M4TJLmJ^Z>eW zkukJ4L&6fi59QcR8$qf9@=8oedweS2he3bOYwv_1VNl_$b8FH=v63H-@KOwi3?qCi zoY)5cm*bk-Y-Lbriy}!(c=|TCo)#N{~Wu@vDW)odu|b?^eN( zBNSYhY=ygus_!wcc$+tb|8KiD|I7O=h>lUL7EAm&#&PqvIHNwLC!HExr_H@0B>SjzBREHkLRYT7Q71lS>c}QI6 zS~G?v9(SHg`HV!gLW$;%c4{M=GrDf=+u-H+_!@(r}99CWC5(%o)f1Q+oSs0AzNL9mFF6rGZK-O5s0ueY%OK zW!DublFd^rwuycuZus<*kKUL@9j=UygEfdlIFBj;2HtMt=0KN$EGaWmZdB~_P6aBF zzN6ys1vqW48%aU7uZp!=D=f*JT|swItwNj)1q*hjO&T0C<5Ib+e*Zf{pIb3t38d^@9 zRZ(6szI+6(TcTF%B+s$||DVRpw1T$rYc&Qj7c@kgTbOKIgYm>;%ncW5@3F{S5;Icf zp0zbeaOFRiT%!|=MJoiFvNtj{T%-;5aL9=^SXdGfnT8|?9?Ok7we1d8iB`T!kIQAg zwZibnkt|xFC_G?o6O-<2Os0QZT*jKFa)TvnHa)F#gxE`I8ryN*w z6Kn(6k0=o4SA+8|r!wISV8)whw8IzRCr&%^scN{`m$audr1ZK|s9h)x>&ioBc38)% zG~C3AWM%#swHQB@?PF-rAZTd{59g#eDVI_NB6e;&1SY?B9rc&zo z&;J604j=vbKXP&i05L&(GM%mH(`RtixWUH~>vZGF`l;iaxU=QCx#e5cEhe6&H+6YV zy6og>1V79`YPM&x+8olBJO0pYW-SLzX+N$QmYVaxE#CN4y|%1;)_oO9GVFpFJ)2iy zyymO4T&U#fp7!H$5vOCdp=}p_Ca6L3qhYgFtE$vN^+xst+cY4q0HSmdS8>D1Iw|AN zL*QyCZdp_Dt-zKQ&9Y*`EF=R~+dkpMY_V*E40XsSyTg&Jv)x$jj~9|9HR*U-~9XxIWSS=DRsJnj&RRK_Kl zxNixUfvvR{JP z8G{gczj5(#jf1K!LpKY94mA|}y#96c!Qoa5Nt~M%3c7j{gj}fHPDy(Dmef%76tHV6 z_Zp4AH1*JidsaVBv6ICUVgEU|D8lXQA`KP0Yf00}$~3rHG0r#(vKO?SyP`kwS~d zy2{jS%L?IYS=Fkn#})cIJ3pK9 zP5y_QyN;BTrA=R&-!jGPyY^C{GZF8!lDtJM4rlfKO33Se1i972Aoq$!X?3pl_P86U|u`q9iE(SNyDu?vV=5{MJ|_U z&Su*2-Y$PCcUlJXF6IK+L@SiY!0DwSZO!0JG2!jd6g)ErtdTH6F+1W@tl49+L=<4*n5{ry6uTX|ho#&S1jle~ z5wf7*#V;g_HVj$L96q^uMlX$L=Q~>R;AtSkIe*MV!&dBbc#W>h<@uXT!8MJw59*Ax z_}o4E2 zU?j84gh3U$H&4n}rKV)EsbDkm_7bknu2WH@sGI`JqMXI3wg%X9=LzL?#^y7Ync~DD zC*50s2NJc4!36iTAkN)|h~@3EOAhPgwU0t|1YB|TS%Sc)J!8B83JyxNt?4Z^wc&Zl zEJm3epY#Mhlc|qkd@B^2m8g$w3q+-&jGQ5h3%;HaFl1@pQ8XkC-B_wAuIm$;5j89o z&$y~782_Y~esnD+OVQ5CNT_4y>=$`QTAwn4gJhCTTI64*sJ5@C{h_*ebC+G zun#Id8v7Iw?V}w{btUN$$bV!GNlTH)XFv@}PIgAYqjX53`mvfI(1j5@92HzK>wrv1 zfL+LSR_V}b@fZ|IcIgI6ab!mZMUq{<-&P#qMW*B;(Uy`e7m-7ebYE99zPuhDwoB*W zg);GKowS!;ocd^Z7O95vg}>s|N90vDX&=*(ftSb&?3vV)$lbsxkr-g@Ug5TC#94#+ zqJuSgP+oK>G~FJD_fr2mv{e1K^{>9>FXg4>{rdCYPwbH~7~3@1UxADYy>770_W~aLy#7xHyM434Hq;sH@mU5t3gDjM z2J6{juv^*{Ka59%{AER zzc$zjUjj{loi;)F=L~k%*9JTGI)gn3!cK26*n6W5w(2B;_2_xB982mEY#)L;V^0F5UMwrMrc1ZZ0XGOsn*)!!Iw zQ?~{=z9J*gY5~h_GHizz(tK6Y2tW|AdvW zia!|ap8)q<4s8Um`7F={wDD878|=oLfbXpa+Zx*A!asu@-UjUiKNrH^w!Z~<0bG4E z)C1sWfSX?iWtRZ%3xEf(;uYWpu>Ff*bI*eg;rn|pL%HXGKm0rea4!X0{M!Ri?n2Nx z@VsvW^pEoZ?_7hOcRuJ5VCRRyCYOUeHyUhjfW^;(eFD4&c-vk8ZGH}X|2^0;l-c7E z;1Bq<|Ah8_2=sd&wAXsj(WeGG1ZckszhD2E!FGjzFI)=k0kT!W&*p`|ZzJ$s1a$%$ zeNi`mfjR??`=H+UJ!r6V{tI;hIQ?;GYk+?~12jSQ3qJw9-fys_Ul^S8;I^m0#_xr? zf<2xM`dfJ?{ChgoDGj=t0``|O*!pJp`{{rWe`}uxI-Uyl4d3Se2KwtrXyaPw!<_~j zek|yEuEB;L2lAY1uYgED}7Kj2-P1zjBvGJ(D91Hac#0yzNx)oY~;q*M1I^h_f_z(-u-@C0up756VUxBiVXwjOyFq`u4dkpp3v8o=u~XQ|>`XS7?Zz%( zbJ%Rw+t|-I#299LpZ$dG%`RbOtdwnK9Lf%1%rJ}+<6D+vSysb_u|3%j*~P3E>tp=N zIMApx%8cWT!;L!Q26jEWmR-Z}~we z*u(g#aj?hmwg)@Ps4_~8!;C+&qm5s)v)JzJB(}eCsPO~V zlkLm)VdbnJJDeTHI#{0V#eT&4u>IKq#z96uqpxuz`xC2V73{}GFXIR{i2cksn`MkU zS%3CdHh`VZh8X{0Z?G5G^X%X3b+(kf$X;XnvBfOGj%G)(q3jpzSFDN+VZUTYvcasH z4P>{mzpy*l?X2AR8Ea)z*fh4iu?u^Jz0Cf}{>~m^53>8%J?wt=0K1F*gWbzMW1q6# z>^b%~_5&ls{>*kaZeeLQnKiK!SR*@;C0R2|v7W{%wyUv=G2Gb1zGly|8e;=n&)#Ay z*-PwAwt}r=BUv45VKdmrY&zS>zGQc^QEW6@%cdH~8s9gXjB&<}##iiBww&!?9L%0% zkFclN<7_u$0eh7Fi+#vGVjr+ZW3=%wdxAa17O{owF}95LFt#_nr%IG&AXo67#nR;QHkTf=_Ch8jO*U$D>FLF^gU#>TKS*skm*b~E_lTUoO)-Z+g_8*Rok zBW<)8(~TKMt8o#lH6|IOj1!Dwj48%MBV|l5lExUL!Wd~BZ`2!;jj;y!&i}L2NS6A0 zc0T(ZJC6-CercS`&S8U$Ba9=BUl@h9;P0_5Yr{LT?b$YLTecJ1neD(Wx(C~iZOtsZ z?r#h*zT39F6&~jEJY~kW_i?$*z9&JW@RNK}arM}g9~A;q5Oco}<|RU6*wdVxSXZis z`(#bCtr+>fi@L_&FcV`?p+PQ5B0G zu`njp%1u#+ZP6r-K}%=F*LmR#bwKP!S!A7hDx)RCy2i@?rV0*#=2@R!&wFQIuPr;zxvo}QJt@Zcj%Av%q& zqQa_1d!F)kHJKMdsXG06sAa|0jW#cu$-bj4pKeVJ$!0UkJtDUd8Z=cDAEa1zgp0Gd z$qWbnnxOMLtK!^AIIXC242qOGB%u%aE8&5)ln7jlpx@TGi=H29Axx1t0wMWXTpHzi zMlr@ySIgk*INY3&oukWAJl~Znl3xp88zf!DV62Yd!4wY-c9W9 zL_MG6$1Sun`oD!pwTki@o_bYOI8i)au;p$eTOw1E*%rxlW#5Zbl%p*tI-OebyHsJj zI=Z2Z5?$4ZT6aY)6m>!)N)DLsf*DwHy9E=ndtH&@Q@o#fu~JWvY8_FBqwCH$)p1KG z?jTzFWQDB`71JRSIP!o(VYwnviGn9il)kw`HBn>VNTXB}0+bT(_)47o<(I!|HR*ep z3iA{4J20L>M-sy0HANw%of;b{%TDWKeU=9fLS zSGD{Kxy;8wRV!-8gO1xV^`Q>m<$6R#aUR>07`rI?p(-?8HciV%BYEf$lL0+FJ+eaA z(|>4+Iy99Q9V%-m`XVcIm5?W>t^JW*bhA{t0aIQrYPeqI>mO(q9%muhpCXOhbI=;r zV0kI2V{edxIoW_Bk$GSNPFNW<%`hNJE(sOaHT3%EN#W~Jfl?pEL2H_*zaTM@J7{Yv z073IlZhB|5sxZ;&UiUmCh(fcQawsg}L0= z?YAlYpIWla1gr!X1G=!38SzObxG(3L_nI9<%pP@L#T-)i)t(i)5Jc8IGgc{hRc-2| z==N7qbo;90+Em`)<$q00-W7z8t;?}W(S?x>M_MUL1 zoD&x41YvAoh42s`!u&=hw3yJTKc;CpoV&pEaHq%-NHV3Np{4W3^wK04LwB$%E65Q@ zGNq%rbQY2_)|lA{fgWFeit|)?zzgC5kCcbXjDbkPDx8rIud87)V)Gnwg%SaR7ApB$ zTzz$Keqd3t{^}_x#*SDn09#>9W=5*50+Ml9-PYn*+15Nd)dY`-WxYZdn)mo}E`~UT zDYkU}FCDS9yCzaJ`Xq2pz@}V`e2aah>E$U^Pv=F3)-@gN9D$G#w-?@J1^`fM0opEZW7SG$hxQY)>_$ zW_IugWx7T#WP)h0h%hgTMo*j_SVBw!6l;!@EG5i4J|SNt@_Up$da{@Z&tMU#{;oCD zBeC$d6gA?&aEuNqmeorhP0vMoecR_rU+!o_(GwlTjwgVz6(SdUT-C`wfsVlIXu|Vq!n$>4ZN3&X7RbuzYE8hwI4A%7QOz@feAdG4K9gxy ziHVeM_|3^*;qh(ycRQt0uB;bO1@}$_aT8ZxURjc+N=A6jA@oge1yPXzdI*0@BIF|~ zfEMK?KtRu>Ja)!kS5~HkdNj$;7yGH2bgr_c1>G6sL6gS^^k0p2Xi9*=^DoI?9Yag| zO;^+Kcx)T2b3n?t7PwojFc2ibREBFPhWuenpv$`IcipGRUE#hre>{& zHtdOwqZ#2|iF#oR#v0hre}{P#IsnHcLuJw;`ZV?nu>vKOZ?#AlGjTx$Fq6d*Wn7D1Xa!M28T*E%C&!!`n(=CKwAh*H?SIbx=jKg;Ha(%v4Hnr?BEZ{{I8 zbI2#SVV|(K)UY8D-3$Q;bW46wgg_wai9SSN3vztZ4!bhZJA|@{{kAZVY{T*+><3Z- z2cI@zmo~SD1ST1GnoHxBD~;Ostq03Mu_%m=g|#T*i&cPa%&>Jf_aLI7E7&<0OkH6f zsFFu{n#Yr22hbXSu>YFRA?qGbMidviu;1`cp>sbO<#}>skkhUFLG7>=waa%w1sg|n zsc5_jksr(I)RZJladO&_%$tb4%Ng9UV2yUt45}4T0$}MErVwkm*+c@1TA7lu_y)c( zB5?!)-OU8=?3u9Ts!G0#nVXSrH~l^LiLO;EPS4{Lu~0*MvdO)4%dycXqLXRLkA%&f zNV<1Q`RuOeW+mIb{Ssv~eIX+F>=N2|dC2O9XIIV9LRMp;)}ZmdXqT+G{;M_+D$JGJ z7esO|tl7GCp?YHnq}OS^)ZolE)Y*twXF-Q&`5-hryO=CM$by(Aub3&Rij=gA&qbl$ zMac5U$BN>R?&id1+$$BQCXJZXu1IYweD17i$$W+TwuqRG^9Pd4Z1W_dLWy0?90avx8YkRf;BwhjZ zYpRM^_jArRoAU7O7h53z5^@zSOu`pPwWX=+%Bb{-3y_o!J>8eHS4deYGo;GP-^qK7 z@EAJ~GLrz=`k_&=Q@D&zj~KuAn62x&Fi8vSMj}L|P+|#*Jdmh;`_fJhW9w1*EHw+M zbRDv$E;d_r@sBxowk5@}d#yp^@zAF~6u`SKo`Qh(%vr zrLB;-h%Pw^DRFb6uODhGtCTH(JO~Xg+HC3!Q!pDNsVj!3b~g_`t|i!=(eqXD zXr8Z_%0^!n%^X*I{V{wIJ-kkl@MvBniG-9I$DBD?iB&A~l`z!7#)IgdxOfn(>49gq zrp1&8N1c40Sl>g<6L)(sFy@kHjV)gUVl^W>Pvod)2JGn#1t-ww!R3#!!xz< zqpm}y=+cuSU+TU^2p&oZ8O~<>i;z6B)GWfRM?irnz1i1y`LPR^CdlpxZm;IoA{tzx z)>@ub#>p!|g%UWa>47|6jaXz;OSqz_KwT=5coam`QyFF?m*qt*bc!L% zU<&=(k41NoYFug#Ar*<#8ePCQ^^iq1bOIu)K)0qLvYE;QF6~K#3Ja6{$Y!gyixPko zYDK`63rOLicxa`w>PpG013DaejX;OvTJmzC*=d2W>lH~6HV>aF**HE`vTuaQ>Mrt9eBioMFliJ9_kCfm@EkrOuzijmtX%^t0!pO=0W6}4=H=VzS zzDFK8@sUcJK=o4fPi^Ft+8pAbbynn3kZ4VxUvQiyMgBnzp|YpC9Vaa0(j`Y=e1 z13h#20aX?D+M)be_17wvd)}sgwWeDEtSmHnkTAQIo1SY9rhfKJbJWkoBwj@bH+IIu?v}yOd9BQ^UC(ai5YV1fk3DK&m$DD!tA72vk?G1&0#0yi z+F%-5Ax(8bevwNi*4Qc3XkPUOEvUPzBBF-T*}3Db!7(p)mqUb)=e8Qh!Oh1^wy`PG zmdmRP=H{19bIH6xUM=@0E|$c7@?BXP^UZo?A%)I;6{-O0Q5@^F(0wiz+b99quxvcd zm14XKYUAiLW7#O0o5YwOOUCgW1jZ~`HbPLYEH@&3Q5CaR*_hzc+`A$LI@oNp(A}n0 zMSPRKnB~G`)v{1qQjlLl9dE%kIAS*i zXV|hxbuG`9T{>j8EgQdmj#q9^Pl}RxOQP&^vfkBIBW2+-IYdgW2p zNs!RpMDu0=Qv?oK%#X9#S(T+r9E$=thb$(Bj~L1F+`2A6zAiY!K zA<{Y+&n@S4=4NqM2-M$VKT@uAqOzJQ%U^}d_GL?wO-=EYLbeK7Apde=?rhnyR4!8f zFH6Xd_K~T4QmHT+pOjS3!K6F@jht$2&%0fbI!jNrB_RjM#LAJiaQeC(vL{VWx1^zr zXWI}*1j+ZN+SI%xfdhuOK$zhoOr|hXF^~XAQJ*=|7B*j4ATKFvSRgJ2=Y2iHg1#Pz zPobOV=Be7pilKE^`<#k(Up6r}&u+;n<}eMJ=LEg|L*yni%ZJZU zW)}!|Er&u^Wa2}vW2k8-Es-^2lA;}Kd1=NKEpwSIN|^j*fykaAq{z9i zH?NsZt16SxB(Snk;2d1E9A|b(&9Vf~LS-XG%XelM)2vlUOCCHkn#W(O%>6T<+04jf z5vXpofmkDzGfD+yI+G5~24E^A<77s2s!vhz^kJb5E0C9^&}T`rS@`Bkv$6a#rrAi^ zfkyH%Io*1XVn5`1k7__rUH?pKrdZMPshNesXH}C5@Fn2y{yMN@AAuRx?8?pdcKWi$ z;r4X4HHipHk1rc0f7L8ax@hP!`Ij}0kckl%L}FA@2_MVq+@w^oojH1I3KOhj>?trb zVn2dWex^Lb+88KA$J*j|h3qx9TMR~(#;*)5bq2*{O509RR-EV9F zIVMEnp|kQyv_%UCknT!`KAQ*Z1LjiNMQ_Nr#S^rE0`4Nb>2oNlJ7cu}kQrm^)m{g5gy$J-J;=$Pf9bEm=F&L