winix/templatesnotify/templatesnotify.h

72 lines
1.2 KiB
C++
Executable File

/*
* This file is a part of CMSLU -- Content Management System like Unix
* and is not publicly distributed
*
* Copyright (c) 2008-2009, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslutemplatestemplatesnotify
#define headerfilecmslutemplatestemplatesnotify
#include <iomanip>
#include <set>
#include <string>
#include "../core/mount.h"
#include "ezc.h"
struct NotifyMsg
{
std::string email;
int notify_code;
Mount::Type current_mount_type;
std::string doc_base_url;
std::string item_dir;
std::string item_link;
};
namespace TemplatesNotifyFunctions
{
using Ezc::Info;
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:
void Read(const std::string & templates_dir);
void Generate();
std::ostringstream notify_str;
private:
void CreateFunctions();
};
#endif