⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clientclerk.cpp

📁 GiPS是一个面向数据密集型应用的分布式文件系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
bool
IceDelegateD::ClientClerk::FileIOManager::writeFile(const ::std::string& blockIndex, const ::ClientClerk::BinaryData& data, const ::Ice::Context* __context)
{
    ::Ice::Current __current;
    __initCurrent(__current, __ClientClerk__FileIOManager__writeFile_name, ::Ice::Normal, __context);
    while(true)
    {
        ::IceInternal::Direct __direct(__current);
        bool __ret;
        try
        {
            ::ClientClerk::FileIOManager* __servant = dynamic_cast< ::ClientClerk::FileIOManager*>(__direct.servant().get());
            if(!__servant)
            {
                ::Ice::OperationNotExistException __opEx(__FILE__, __LINE__);
                __opEx.id = __current.id;
                __opEx.facet = __current.facet;
                __opEx.operation = __current.operation;
                throw __opEx;
            }
            try
            {
                __ret = __servant->writeFile(blockIndex, data, __current);
            }
            catch(const ::Ice::LocalException& __ex)
            {
                throw ::IceInternal::LocalExceptionWrapper(__ex, false);
            }
        }
        catch(...)
        {
            __direct.destroy();
            throw;
        }
        __direct.destroy();
        return __ret;
    }
}

bool
IceDelegateD::ClientClerk::FileIOManager::readFile(const ::std::string& blockIndex, ::ClientClerk::BinaryData& data, const ::Ice::Context* __context)
{
    ::Ice::Current __current;
    __initCurrent(__current, __ClientClerk__FileIOManager__readFile_name, ::Ice::Normal, __context);
    while(true)
    {
        ::IceInternal::Direct __direct(__current);
        bool __ret;
        try
        {
            ::ClientClerk::FileIOManager* __servant = dynamic_cast< ::ClientClerk::FileIOManager*>(__direct.servant().get());
            if(!__servant)
            {
                ::Ice::OperationNotExistException __opEx(__FILE__, __LINE__);
                __opEx.id = __current.id;
                __opEx.facet = __current.facet;
                __opEx.operation = __current.operation;
                throw __opEx;
            }
            try
            {
                __ret = __servant->readFile(blockIndex, data, __current);
            }
            catch(const ::Ice::LocalException& __ex)
            {
                throw ::IceInternal::LocalExceptionWrapper(__ex, false);
            }
        }
        catch(...)
        {
            __direct.destroy();
            throw;
        }
        __direct.destroy();
        return __ret;
    }
}

::Ice::ObjectPtr
ClientClerk::FileIOManager::ice_clone() const
{
    throw ::Ice::CloneNotImplementedException(__FILE__, __LINE__);
    return 0; // to avoid a warning with some compilers
}

static const ::std::string __ClientClerk__FileIOManager_ids[2] =
{
    "::ClientClerk::FileIOManager",
    "::Ice::Object"
};

bool
ClientClerk::FileIOManager::ice_isA(const ::std::string& _s, const ::Ice::Current&) const
{
    return ::std::binary_search(__ClientClerk__FileIOManager_ids, __ClientClerk__FileIOManager_ids + 2, _s);
}

::std::vector< ::std::string>
ClientClerk::FileIOManager::ice_ids(const ::Ice::Current&) const
{
    return ::std::vector< ::std::string>(&__ClientClerk__FileIOManager_ids[0], &__ClientClerk__FileIOManager_ids[2]);
}

const ::std::string&
ClientClerk::FileIOManager::ice_id(const ::Ice::Current&) const
{
    return __ClientClerk__FileIOManager_ids[0];
}

const ::std::string&
ClientClerk::FileIOManager::ice_staticId()
{
    return __ClientClerk__FileIOManager_ids[0];
}

::IceInternal::DispatchStatus
ClientClerk::FileIOManager::___writeFile(::IceInternal::Incoming&__inS, const ::Ice::Current& __current)
{
    __checkMode(::Ice::Normal, __current.mode);
    ::IceInternal::BasicStream* __is = __inS.is();
    ::IceInternal::BasicStream* __os = __inS.os();
    ::std::string blockIndex;
    ::ClientClerk::BinaryData data;
    __is->read(blockIndex);
    ::std::pair<const ::Ice::Byte*, const ::Ice::Byte*> ___data;
    __is->read(___data);
    ::std::vector< ::Ice::Byte>(___data.first, ___data.second).swap(data);
    bool __ret = writeFile(blockIndex, data, __current);
    __os->write(__ret);
    return ::IceInternal::DispatchOK;
}

::IceInternal::DispatchStatus
ClientClerk::FileIOManager::___readFile(::IceInternal::Incoming&__inS, const ::Ice::Current& __current)
{
    __checkMode(::Ice::Normal, __current.mode);
    ::IceInternal::BasicStream* __is = __inS.is();
    ::IceInternal::BasicStream* __os = __inS.os();
    ::std::string blockIndex;
    __is->read(blockIndex);
    ::ClientClerk::BinaryData data;
    bool __ret = readFile(blockIndex, data, __current);
    if(data.size() == 0)
    {
        __os->writeSize(0);
    }
    else
    {
        __os->write(&data[0], &data[0] + data.size());
    }
    __os->write(__ret);
    return ::IceInternal::DispatchOK;
}

static ::std::string __ClientClerk__FileIOManager_all[] =
{
    "ice_id",
    "ice_ids",
    "ice_isA",
    "ice_ping",
    "readFile",
    "writeFile"
};

::IceInternal::DispatchStatus
ClientClerk::FileIOManager::__dispatch(::IceInternal::Incoming& in, const ::Ice::Current& current)
{
    ::std::pair< ::std::string*, ::std::string*> r = ::std::equal_range(__ClientClerk__FileIOManager_all, __ClientClerk__FileIOManager_all + 6, current.operation);
    if(r.first == r.second)
    {
        return ::IceInternal::DispatchOperationNotExist;
    }

    switch(r.first - __ClientClerk__FileIOManager_all)
    {
        case 0:
        {
            return ___ice_id(in, current);
        }
        case 1:
        {
            return ___ice_ids(in, current);
        }
        case 2:
        {
            return ___ice_isA(in, current);
        }
        case 3:
        {
            return ___ice_ping(in, current);
        }
        case 4:
        {
            return ___readFile(in, current);
        }
        case 5:
        {
            return ___writeFile(in, current);
        }
    }

    assert(false);
    return ::IceInternal::DispatchOperationNotExist;
}

void
ClientClerk::FileIOManager::__write(::IceInternal::BasicStream* __os) const
{
    __os->writeTypeId(ice_staticId());
    __os->startWriteSlice();
    __os->endWriteSlice();
#if defined(_MSC_VER) && (_MSC_VER < 1300) // VC++ 6 compiler bug
    Object::__write(__os);
#else
    ::Ice::Object::__write(__os);
#endif
}

void
ClientClerk::FileIOManager::__read(::IceInternal::BasicStream* __is, bool __rid)
{
    if(__rid)
    {
        ::std::string myId;
        __is->readTypeId(myId);
    }
    __is->startReadSlice();
    __is->endReadSlice();
#if defined(_MSC_VER) && (_MSC_VER < 1300) // VC++ 6 compiler bug
    Object::__read(__is, true);
#else
    ::Ice::Object::__read(__is, true);
#endif
}

void
ClientClerk::FileIOManager::__write(const ::Ice::OutputStreamPtr&) const
{
    Ice::MarshalException ex(__FILE__, __LINE__);
    ex.reason = "type ClientClerk::FileIOManager was not generated with stream support";
    throw ex;
}

void
ClientClerk::FileIOManager::__read(const ::Ice::InputStreamPtr&, bool)
{
    Ice::MarshalException ex(__FILE__, __LINE__);
    ex.reason = "type ClientClerk::FileIOManager was not generated with stream support";
    throw ex;
}

void 
ClientClerk::__patch__FileIOManagerPtr(void* __addr, ::Ice::ObjectPtr& v)
{
    ::ClientClerk::FileIOManagerPtr* p = static_cast< ::ClientClerk::FileIOManagerPtr*>(__addr);
    assert(p);
    *p = ::ClientClerk::FileIOManagerPtr::dynamicCast(v);
    if(v && !*p)
    {
        ::Ice::UnexpectedObjectException e(__FILE__, __LINE__);
        e.type = v->ice_id();
        e.expectedType = ::ClientClerk::FileIOManager::ice_staticId();
        throw e;
    }
}

bool
ClientClerk::operator==(const ::ClientClerk::FileIOManager& l, const ::ClientClerk::FileIOManager& r)
{
    return static_cast<const ::Ice::Object&>(l) == static_cast<const ::Ice::Object&>(r);
}

bool
ClientClerk::operator!=(const ::ClientClerk::FileIOManager& l, const ::ClientClerk::FileIOManager& r)
{
    return static_cast<const ::Ice::Object&>(l) != static_cast<const ::Ice::Object&>(r);
}

bool
ClientClerk::operator<(const ::ClientClerk::FileIOManager& l, const ::ClientClerk::FileIOManager& r)
{
    return static_cast<const ::Ice::Object&>(l) < static_cast<const ::Ice::Object&>(r);
}

bool
ClientClerk::operator<=(const ::ClientClerk::FileIOManager& l, const ::ClientClerk::FileIOManager& r)
{
    return l < r || l == r;
}

bool
ClientClerk::operator>(const ::ClientClerk::FileIOManager& l, const ::ClientClerk::FileIOManager& r)
{
    return !(l < r) && !(l == r);
}

bool
ClientClerk::operator>=(const ::ClientClerk::FileIOManager& l, const ::ClientClerk::FileIOManager& r)
{
    return !(l < r);
}

⌨️ 快捷键说明

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