|
OmniStacksStaticModules 2.0.0
|
#include <fcntl.h>#include <spawn.h>#include <sys/wait.h>#include <unistd.h>#include <array>#include <cerrno>#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <string_view>#include <vector>import InterfaceLog;import std;Go to the source code of this file.
Classes | |
| struct | ReminderSync::TaskReminder |
| 与外部应用同步所需的最小任务快照。 More... | |
| struct | ReminderSync::SyncOptions |
| 外部应用同步选项。 More... | |
| struct | ReminderSync::SyncResult |
| 同步结果;每个后端独立报告成败,便于 CLI 精确展示。 More... | |
| struct | ReminderSync::anonymous_namespace{ReminderSync.cppm}::ProcessResult |
| osascript 子进程的退出码与双管道输出。 More... | |
Namespaces | |
| namespace | ReminderSync |
| namespace | ReminderSync::anonymous_namespace{ReminderSync.cppm} |
Enumerations | |
| enum class | ReminderSync::Provider { ReminderSync::reminders , ReminderSync::omnifocus , ReminderSync::both } |
| 提醒事项提供方;both 表示两个目标都执行。 More... | |
| enum class | ReminderSync::SyncError { ReminderSync::invalid_task_id , ReminderSync::due_date_required , ReminderSync::invalid_due_date , ReminderSync::osascript_unavailable , ReminderSync::reminders_failed , ReminderSync::omnifocus_failed , ReminderSync::process_failure } |
| 可恢复同步错误分类。 More... | |
Functions | |
| std::expected< SyncResult, SyncError > | ReminderSync::sync_task (const TaskReminder &task, Provider provider, const SyncOptions &options={}) |
| 将一个任务同步到指定外部应用。 | |
| std::string | ReminderSync::build_reminders_script () |
| 返回可在 osacompile 中独立编译的 Reminders AppleScript 源。 | |
| std::string | ReminderSync::build_omnifocus_script () |
| 返回可在 osacompile 中独立编译的 OmniFocus AppleScript 源。 | |
| std::string | ReminderSync::provider_name (Provider provider) noexcept |
| Provider 到 CLI/日志稳定名称。 | |
| std::string_view | ReminderSync::sync_error_message (SyncError error) noexcept |
| SyncError 到稳定可读文本。 | |
| bool | ReminderSync::anonymous_namespace{ReminderSync.cppm}::valid_task_id (std::string_view value) |
| 任务 ID 只允许字母、数字、-、_,防止注入 action/AppleScript 参数。 | |
| std::optional< std::array< int, 3 > > | ReminderSync::anonymous_namespace{ReminderSync.cppm}::split_date (std::string_view value) |
| 严格拆分并校验 YYYY-MM-DD;用于 AppleScript 日期构造前的领域校验。 | |
| std::string | ReminderSync::anonymous_namespace{ReminderSync.cppm}::read_descriptor (int descriptor) |
| 读到 EOF 的管道读取器。 | |
| std::expected< ProcessResult, SyncError > | ReminderSync::anonymous_namespace{ReminderSync.cppm}::run_osascript (std::string_view script, const std::vector< std::string > &arguments) |
| 启动 osascript,并通过独立 argv 传递用户字段。 | |
| std::vector< std::string > | ReminderSync::anonymous_namespace{ReminderSync.cppm}::common_arguments (const TaskReminder &task, std::string_view marker) |
| 构造两个 AppleScript 共用的位置参数序列。 | |
Variables | |
| char ** | environ |
|
extern |