winix/functions/cp.h

66 lines
1.2 KiB
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucontentcp
#define headerfilecmslucontentcp
#include "functionbase.h"
namespace Fun
{
class Cp : public FunctionBase
{
public:
Cp();
private:
// !! wywalic przedrostki cp_ Cp
Item cp_temp;
Db::ItemQuery cp_iq;
bool cp_remove_defaults;
bool cp_preserve_attr;
long cp_new_user;
long cp_new_group;
std::string mv_dir;
std::string mv_file;
std::string mv_new_path;
long mv_dir_id;
bool CpCheckAccessFrom();
bool CheckAccessTo(long dir_id);
bool ParseDir(long & dir_id, std::string & dir, std::string & file);
void CpAuth(Item & item);
void CpSetNewAttributes(Item & item);
void CpItem(Item & item, long dst_dir_id);
void CpPrepare();
void CpFilesInDir(const Item & dir, long dst_dir_id);
void CpContentOfDir(const Item & item, long dst_dir_id);
long CpDir(const Item & item, long dst_dir_id);
bool IsTheSameFile(const Item & item);
void CpItemCheck(Item & item, bool redirect = true);
void CpContentOfDirCheck(const Item & item, bool redirect = true);
void CpDirCheck(const Item & item, bool redirect = true);
void MakePost();
void MakeGet();
};
} // namespace
#endif