soap_readhook.cpp

来自「ncbi源码」· C++ 代码 · 共 112 行

CPP
112
字号
/* * =========================================================================== * PRODUCTION $Log: soap_readhook.cpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 19:44:27  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.2 * PRODUCTION * =========================================================================== *//*  $Id: soap_readhook.cpp,v 1000.1 2004/06/01 19:44:27 gouriano Exp $* ===========================================================================**                            PUBLIC DOMAIN NOTICE*               National Center for Biotechnology Information**  This software/database is a "United States Government Work" under the*  terms of the United States Copyright Act.  It was written as part of*  the author's official duties as a United States Government employee and*  thus cannot be copyrighted.  This software/database is freely available*  to the public for use. The National Library of Medicine and the U.S.*  Government have not placed any restriction on its use or reproduction.**  Although all reasonable efforts have been taken to ensure the accuracy*  and reliability of the software and data, the NLM and the U.S.*  Government do not and cannot warrant the performance or results that*  may be obtained by using this software or data. The NLM and the U.S.*  Government disclaim all warranties, express or implied, including*  warranties of performance, merchantability or fitness for any particular*  purpose.**  Please cite the author in any work or product based on this material.** ===========================================================================** Author: Andrei Gourianov** File Description:*   Analyzes and reads SOAP message contents*       known object types are being read as such*       unknown ones - as CAnyContentObject*   */#include <ncbi_pch.hpp>#include <serial/objistr.hpp>#include "soap_envelope.hpp"#include "soap_readhook.hpp"BEGIN_NCBI_SCOPECSoapReadHook::CSoapReadHook(    vector< CConstRef<CSerialObject> >& content,    const vector< const CTypeInfo* >& types)    : m_Content(content), m_Types(types){}void CSoapReadHook::ReadObject(CObjectIStream& in,                               const CObjectInfo& /*object*/){    string name = in.PeekNextTypeName();    const CTypeInfo* typeInfo = x_FindType(name);    if (!typeInfo) {        typeInfo = CAnyContentObject::GetTypeInfo();    }    CObjectInfo info(typeInfo->Create(), typeInfo);    in.Read(info, CObjectIStream::eNoFileHeader);    if (typeInfo->IsCObject()) {        CSerialObject* obj =            reinterpret_cast<CSerialObject*>(info.GetObjectPtr());        CConstRef<CSerialObject> ref(obj);        m_Content.push_back(ref);    }    in.SetDiscardCurrObject();}const CTypeInfo* CSoapReadHook::x_FindType(const string& name){    vector< const CTypeInfo* >::const_iterator it;    for (it = m_Types.begin(); it != m_Types.end(); ++it) {        if ((*it)->GetName() == name) {            return (*it);        }    }    return 0;}END_NCBI_SCOPE/* --------------------------------------------------------------------------* $Log: soap_readhook.cpp,v $* Revision 1000.1  2004/06/01 19:44:27  gouriano* PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.2** Revision 1.2  2004/05/17 21:03:24  gorelenk* Added include of PCH ncbi_pch.hpp** Revision 1.1  2003/09/22 21:00:04  gouriano* Initial revision*** ===========================================================================*/

⌨️ 快捷键说明

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