warsvrfile.cpp

来自「ftpserver very good sample」· C++ 代码 · 共 76 行

CPP
76
字号
#include "StdAfx.h"#include "WarSvrFile.h"   // class implemented/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarSvrFile::WarSvrFile(): my_callback(NULL),my_callback_arg(NULL){}// WarSvrFileWarSvrFile::~WarSvrFile(){}// ~WarSvrFile//============================= OPERATORS ====================================void WarSvrFile::Open(const WarSvrPath& filePath,         const war_uint32_t openFlags)        throw(WarException){    assert(IsOpen() == false);    mSvrPath = filePath;    CreateDriverForUrl(filePath.GetUrl());    WarFile::Open(openFlags);}//============================= OPERATIONS ===================================void WarSvrFile::AssignCallback(callback_t func, war_cptr_t arg){    my_callback = func;    my_callback_arg = arg;}void WarSvrFile::Close()     throw(WarException){    my_callback = NULL;    my_callback_arg = NULL;    WarFile::Close();}//============================= ACCESS     ===================================//============================= INQUIRY    ===================================/////////////////////////////// PROTECTED  ///////////////////////////////////void WarSvrFile::OnRead(const WarError& status,         war_transfer_buffer_ptr_t& buffer){    if (my_callback == NULL)        WarThrow(WarError(WAR_ERR_INTERNAL_DATA_NOT_INITIALIZED), NULL);            my_callback(my_callback_arg, status, buffer);}void WarSvrFile::OnWritten(const WarError& status,        war_transfer_buffer_ptr_t& buffer){    if (my_callback == NULL)        WarThrow(WarError(WAR_ERR_INTERNAL_DATA_NOT_INITIALIZED), NULL);        my_callback(my_callback_arg, status, buffer);}/////////////////////////////// PRIVATE    ///////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?