コード例 #1
0
ファイル: folder.cpp プロジェクト: huge-potato/file_system
void change_path(string command)
{
	stringstream command_stream(command);
	string subcommand, cd_path;
	vector<string> subpath;
	vector<int> new_path;
	int tmp_path;
	command_stream >> subcommand;
	command_stream >> cd_path;
	if (cd_path == "..")
	{
		if (path.size() == 1)
			return;
		path.pop_back();
	}
	else if (cd_path[0] == '/')
	{
		if (cd_path == "/")
		{
			new_path.push_back(0);
			path = new_path;
			return;
		}
		tmp_path = 0;
		subpath = split(cd_path, "/");
		new_path.push_back(0);
		for (auto p : subpath)
		{
			if (tmp_path = check_folder(tmp_path, p))
			{
				new_path.push_back(tmp_path);
			}
			else
			{
				cout << "no such directory" << endl;
				return;
			}
		}
		path = new_path;
	}
	else
	{
		tmp_path = path.back();
		subpath = split(cd_path, "/");
		new_path = path;
		for (auto p : subpath)
		{
			if (tmp_path = check_folder(tmp_path, p))
			{
				new_path.push_back(tmp_path);
			}
			else
			{
				cout << "no such directory" << endl;
				return;
			}
		}
		path = new_path;
	}
}
コード例 #2
0
ファイル: CopyFile.cpp プロジェクト: xzrunner/easyeditor
int CopyFile::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 6)) return -1;
	if (!check_folder(argv[2])) return -1;
	if (!check_folder(argv[3])) return -1;

	// todo
	std::string opt = argv[3];
	if (opt != "-l" || opt != "--list") {
		std::cerr << "error opt" << std::endl;
		std::cerr << Usage() << std::endl;
		return -1;
	}

//	Trigger(argv[2]);

	Init(argv[2], argv[3]);
	if (opt == "-s" || opt == "--scale") {
//		CopyByExportNames(argv[4], atof(argv[5]));
	} else {
		std::cout << "unknown option" << std::endl;
		return -1;
	}

	return 0;
}
コード例 #3
0
static int expunge_folder(mailsession * session)
{
  unsigned int i;
  int r;
  int res;
  struct maildir * md;

  check_folder(session);

  md = get_maildir_session(session);
  if (md == NULL)
    return MAIL_ERROR_BAD_STATE;

  r = maildir_update(md);
  if (r != MAILDIR_NO_ERROR) {
    res = maildirdriver_maildir_error_to_mail_error(r);
    goto err;
  }

  for(i = 0 ; i < carray_count(md->mdir_msg_list) ; i++) {
    struct maildir_msg * md_msg;

    md_msg = carray_get(md->mdir_msg_list, i);

    if ((md_msg->msg_flags & MAILDIR_FLAG_TRASHED) != 0)
      maildir_message_remove(md, md_msg->msg_uid);
  }

  return MAIL_NO_ERROR;

 err:
  return res;
}
コード例 #4
0
ファイル: folder.cpp プロジェクト: huge-potato/file_system
void create_folder(string command)
{
	information new_information;
	address new_address;
	cataLog new_catalog;
	child_catalog new_child;
	stringstream command_stream(command);
	string subcommand, folder_name, share;
	command_stream >> subcommand;
	command_stream >> folder_name;
	command_stream >> share;
	if (folder_name == "")
	{
		cout << "mkdir: Please enter a directory name" << endl;
		return;
	}
	if (check_folder(path.back(), folder_name))
	{
		cout << "mkdir: Cannot create folder \"" << folder_name << "\":directory exists" << endl;
		return;
	}
	new_information.name = folder_name;
	new_information.type = 1;
	new_information.ftype = "folder";
	new_information.share = 1;
	new_information.readable = 1;
	new_information.writeable = 1;
	new_information.user = username_id;
	new_information.size = 0;
	new_information.block = -1;
	char date[255];
	time_t t = time(0);
	strftime(date, 255, "%Y-%m-%d %H:%M:%S", localtime(&t));
	new_information.create_time = date;
	new_information.last_edit_time = date;
	new_information.path = path;
	new_address.flag = 1;
	new_address.i_node = -1;
	if (catalog_free.size() == 0)
	{
		new_catalog.id = catalog.size();
		new_catalog.addr = new_address;
		new_catalog.info = new_information;
		catalog.push_back(new_catalog);
	}
	else
	{
		new_catalog.id = catalog_free.back();
		new_catalog.addr = new_address;
		new_catalog.info = new_information;
		catalog[catalog_free.back()] = new_catalog;
		catalog_free.pop_back();
	}

	new_child.name = folder_name;
	new_child.id = new_catalog.id;
	catalog[path.back()].addr.c_catalog.push_back(new_child);
}
コード例 #5
0
int FormatJsonFile::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2]);

	return 0;
}
コード例 #6
0
ファイル: CalcImageArea.cpp プロジェクト: xzrunner/easyeditor
int CalcImageArea::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Run(argv[2]);

	return 0;
}
コード例 #7
0
ファイル: GenAudioID.cpp プロジェクト: xzrunner/easyeditor
int GenAudioID::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2], argv[3]);

	return 0;
}
コード例 #8
0
ファイル: VerifyJson.cpp プロジェクト: xzrunner/easyeditor
int VerifyJson::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2]);

	return 0;
}
コード例 #9
0
int TransNewTextFile::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Run(argv[2]);

	return 0;
}
コード例 #10
0
int GenNoCompressCfg::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 5)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2], argv[3], argv[4]);

	return 0;
}
コード例 #11
0
int ChangeComplexOrigin::Run(int argc, char *argv[])
{
	// change-origin D:\projects\ejoy\coco-tools\sg_particle\data\json_and_pngs

	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2]);

	return 0;
}
コード例 #12
0
ファイル: NumberImages.cpp プロジェクト: xzrunner/easyeditor
int NumberImages::Run(int argc, char *argv[])
{
	// num-imgs E:\debug\character E:\debug\character\num_image.txt

	if (!check_number(this, argc, 4)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2], argv[3]);

	return 0;
}
コード例 #13
0
ファイル: FixLRSprLayer.cpp プロジェクト: xzrunner/easyeditor
int FixLRSprLayer::Run(int argc, char *argv[])
{
	// fix-lr-layer D:\projects\ejoy\coco-tools\sg_particle\data\json_and_pngs

	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	Trigger(argv[2]);

	return 0;
}
コード例 #14
0
ファイル: FixTextAlign.cpp プロジェクト: xzrunner/easyeditor
int FixTextAlign::Run(int argc, char *argv[])
{
	// fix-text-align D:\projects\ejoy\coco-tools\sg_particle\data\json_and_pngs

	if (!check_number(this, argc, 3)) return -1;
	if (!check_folder(argv[2])) return -1;

	ee::GTxt::Init();

	Trigger(argv[2]);

	return 0;
}
コード例 #15
0
int ExportBodymovin::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 4)) return -1;
	if (!check_folder(argv[3])) return -1;

	int ret = init_gl();
	if (ret < 0) {
		return ret;
	}

	Trigger(argv[2], argv[3]);

	return 0;
}
コード例 #16
0
static int logout(mailsession * session)
{
  struct maildir * md;

  check_folder(session);

  md = get_maildir_session(session);
  if (md == NULL)
    return MAIL_ERROR_BAD_STATE;

  maildir_free(md);
  get_data(session)->md_session = NULL;

  return MAIL_NO_ERROR;
}
コード例 #17
0
static int status_folder(mailsession * session, const char * mb,
    uint32_t * result_messages, uint32_t * result_recent,
    uint32_t * result_unseen)
{
  int r;
  struct maildir * md;
  unsigned int i;
  uint32_t messages;
  uint32_t recent;
  uint32_t unseen;
  UNUSED(mb);

  check_folder(session);

  md = get_maildir_session(session);
  if (md == NULL)
    return MAIL_ERROR_BAD_STATE;

  r = maildir_update(md);
  if (r != MAILDIR_NO_ERROR)
    return maildirdriver_maildir_error_to_mail_error(r);

  messages = 0;
  recent = 0;
  unseen = 0;
  for(i = 0 ; i < carray_count(md->mdir_msg_list) ; i ++) {
    struct maildir_msg * msg;

    msg = carray_get(md->mdir_msg_list, i);
    if ((msg->msg_flags & MAILDIR_FLAG_NEW) != 0)
      recent ++;
    if ((msg->msg_flags & MAILDIR_FLAG_SEEN) == 0)
      unseen ++;
    messages ++;
  }

  * result_messages = messages;
  * result_recent = recent;
  * result_unseen = unseen;

  return MAIL_NO_ERROR;
}
コード例 #18
0
int ChangeTPJsonFile::Run(int argc, char *argv[])
{
	if (!check_number(this, argc, 6)) return -1;
	if (!check_folder(argv[2])) return -1;

	// todo
	std::string opt = argv[3];
	if (opt != "-m" && opt != "--move") {
		std::cerr << "error opt" << std::endl;
		std::cerr << Usage() << std::endl;
		return -1;
	} 

	Run(argv[2]);
	if (opt == "-m" || opt == "--move") {
		TranslateFrameXY(atof(argv[4]), atof(argv[5]));
	} else {
		std::cout << "unknown option" << std::endl;
		return -1;
	}

	return 0;
}
コード例 #19
0
static int get_envelopes_list(mailsession * session,
    struct mailmessage_list * env_list)
{
  int r;
  struct maildir * md;
  unsigned int i;
  int res;

  check_folder(session);

  md = get_maildir_session(session);
  if (md == NULL) {
    res = MAIL_ERROR_BAD_STATE;
    goto err;
  }

  r = maildir_update(md);
  if (r != MAILDIR_NO_ERROR) {
    res = maildirdriver_maildir_error_to_mail_error(r);
    goto err;
  }

  r = maildriver_generic_get_envelopes_list(session, env_list);
  if (r != MAIL_NO_ERROR) {
    res = r;
    goto err;
  }

  for(i = 0 ; i < carray_count(env_list->msg_tab) ; i++) {
    struct maildir_msg * md_msg;
    mailmessage * msg;
    uint32_t driver_flags;
    clist * ext;
    chashdatum key;
    chashdatum value;

    msg = carray_get(env_list->msg_tab, i);

    key.data = msg->msg_uid;
    key.len = strlen(msg->msg_uid);
    r = chash_get(md->mdir_msg_hash, &key, &value);
    if (r < 0)
      continue;

    md_msg = value.data;

    driver_flags = maildirdriver_maildir_flags_to_flags(md_msg->msg_flags);

    if (msg->msg_flags == NULL) {
      ext = clist_new();
      if (ext == NULL) {
        res = MAIL_ERROR_MEMORY;
        continue;
      }

      msg->msg_flags = mail_flags_new(driver_flags, ext);
      if (msg->msg_flags == NULL) {
        clist_free(ext);
        res = MAIL_ERROR_MEMORY;
        continue;
      }

      if ((md_msg->msg_flags & MAILDIR_FLAG_NEW) != 0) {
        mail_flags_store_set(get_data(session)->md_flags_store, msg);
      }
    }
    else {
      msg->msg_flags->fl_flags &= MAIL_FLAG_FORWARDED;
      msg->msg_flags->fl_flags |= driver_flags;
    }
  }

  return MAIL_NO_ERROR;

 err:
  return res;
}
コード例 #20
0
ファイル: main.cpp プロジェクト: boban-dj/cameradar
// Check if the storage path is available
bool
check_storage_path(const std::string& thumbnail_storage_path) {
    LOG_INFO_("Checking if storage path exists and are usable", "main");
    return (check_folder(thumbnail_storage_path));
}