/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2010, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslutemplatestemplatesnotify #define headerfilecmslutemplatestemplatesnotify #include #include #include #include "../core/mount.h" #include "../core/locale.h" #include "../templates/misc.h" #include "ezc.h" struct NotifyMsg { std::string email; int notify_code; Mount::Type current_mount_type; Locale::Lang lang; std::string doc_base_url; std::string item_dir; std::string item_link; }; namespace TemplatesNotifyFunctions { using Ezc::Info; enum Pat { pat_email_notify = 0, // first should be zero pat_last // should be last }; typedef std::vector > Patterns; extern Patterns patterns; extern NotifyMsg * notify_msg; void notify_item_added(Info & i); void notify_item_edited(Info & i); void notify_item_deleted(Info & i); void notify_dir_added(Info & i); void notify_to(Info & i); void notify_mount_type_is_thread(Info & i); void notify_mount_type_is_cms(Info & i); void notify_doc_base_url(Info & i); void notify_item_dir(Info & i); void notify_item_link(Info & i); } // namespace TemplatesNotifyFunctions class TemplatesNotify { public: TemplatesNotify(); void Read(); void CreateFunctions(); void Generate(Locale::Lang lang); std::ostringstream notify_str; private: void Read(TemplatesNotifyFunctions::Pat pat, const std::string & dir, const char * file); void Read(TemplatesNotifyFunctions::Pat pat, const char * file); void ClearPatterns(); std::string temp; }; #endif