/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2011, Tomasz Sowa * All rights reserved. * */ #include "core/log.h" #include "core/plugin.h" #include "groupinfo.h" extern "C" void Init(PluginInfo &); namespace GroupItem { const wchar_t plugin_name[] = L"groupitem"; GroupInfo group_info; void AddMountPar(PluginInfo & info) { group_info.mount_par_group_conf = info.system->mounts.AddMountPar(L"group_conf"); group_info.mount_par_group_lang_conf = info.system->mounts.AddMountPar(L"group_lang_conf"); } void FstabChanged(PluginInfo & info) { group_info.ReadGroupsConfigs(true); group_info.PrintGroups(); } void ProcessRequest(PluginInfo & info) { if( info.cur->request->function == &info.functions->fun_reload ) { if( info.cur->request->IsParam(L"groupitem") ) group_info.ReadGroupsConfigs(false); } } void AddEzcFunctions(PluginInfo & info); } // namespace void Init(PluginInfo & info) { using namespace GroupItem; plugin.Assign(WINIX_TEMPLATES_CREATEFUNCTIONS, AddEzcFunctions); plugin.Assign(WINIX_ADD_MOUNTS, AddMountPar); plugin.Assign(WINIX_FSTAB_CHANGED, FstabChanged); plugin.Assign(WINIX_PROCESS_REQUEST, ProcessRequest); group_info.SetSystem(info.system); info.p1 = (void*)(plugin_name); }