1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/* Copyright (c) MediaArea.net SARL. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license that can
* be found in the License.html file in the root of the source tree.
*/
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
// Watch Folder Manager
//
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//---------------------------------------------------------------------------
#ifndef WATCHFOLDER_MANAGERH
#define WATCHFOLDER_MANAGERH
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <string>
#include <vector>
#include <map>
#include "ZenLib/CriticalSection.h"
//---------------------------------------------------------------------------
namespace MediaConch {
class Core;
class WatchFolder;
//***************************************************************************
// Class WatchFolderManager
//***************************************************************************
class WatchFoldersManager
{
public:
WatchFoldersManager(Core *c);
~WatchFoldersManager();
std::map<std::string, std::string> get_watch_folders();
int add_watch_folder(const std::string&, const std::string&,
const std::vector<std::string>&, const std::vector<std::string>&,
long *in_user, bool recursive,
const std::vector<std::pair<std::string,std::string> >& options,
long& user_id, std::string&);
int edit_watch_folder(const std::string&, const std::string&, std::string&);
int remove_watch_folder(const std::string&, std::string&);
private:
WatchFoldersManager(const WatchFoldersManager&);
WatchFoldersManager& operator=(const WatchFoldersManager&);
Core *core;
ZenLib::CriticalSection CS;
std::map<std::string, WatchFolder*> watch_folders;
};
}
#endif // !WATCHFOLDERS_MANAGERH
|