/*** Tencent is pleased to support the open source community by making Tars available.** Copyright (C) 2016THL A29 Limited, a Tencent company. All rights reserved.** Licensed under the BSD 3-Clause License (the "License"); you may not use this file except* in compliance with the License. You may obtain a copy of the License at** https://opensource.org/licenses/BSD-3-Clause** Unless required by applicable law or agreed to in writing, software distributed* under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR* CONDITIONS OF ANY KIND, either express or implied. See the License for the* specific language governing permissions and limitations under the License.*/#ifndef __PATCH_IMP_H_#define __PATCH_IMP_H_#include "Patch.h"using namespace tars;class PatchImp : public Patch{public:/****/PatchImp();/*** 初始化** @return int*/virtual void initialize();/*** 退出*/virtual void destroy() {};/*** 获取路径下所有文件列表信息* @param path, 目录路径, 相对_directory的路径, 不能有..* @param vector<FileInfo>, 文件列表信息* @return int*/int listFileInfo(const string &path, vector<FileInfo> &vf, TarsCurrentPtr current);/*** 下载文件* @param file, 文件完全路径* @param pos, 从什么位置开始下载* @return vector<byte>, 文件内容*/int download(const string &file, int pos, vector<char> &vb, TarsCurrentPtr current);/*** 准备好需要patch的文件,将发布的文件从上传目录复制到发布目录* @param app, 应用名* @param serverName, 服务名* @param patchFile, 需要发布的文件名* @return int, 0: 成功, <0: 失败*/int preparePatchFile(const string &app, const string &serverName, const string &patchFile, TarsCurrentPtr current);protected:int __listFileInfo(const string &path, vector<FileInfo> &vf);int __downloadFromMem (const string & file, size_t pos, vector<char> & vb);int __downloadFromFile(const string & file, size_t pos, vector<char> & vb);protected:/*** 目录*/string _directory;/*** 上传的目录*/string _uploadDirectory;/*** 每次同步大小*/size_t _size;};#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型