mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
libcef:
- Add CefReadHandler and CefWriteHandler classes for creating streams handled by the client. cefclient: - Add a CefReadHandler test. - Move tests out of cefclient.cpp and into separate implementation files. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@39 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
73
libcef_dll/cpptoc/read_handler_cpptoc.cc
Normal file
73
libcef_dll/cpptoc/read_handler_cpptoc.cc
Normal file
@ -0,0 +1,73 @@
|
||||
// Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that
|
||||
// can be found in the LICENSE file.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// A portion of this file was generated by the CEF translator tool. When
|
||||
// making changes by hand only do so within the body of existing function
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
|
||||
#include "../precompiled_libcef.h"
|
||||
#include "cpptoc/read_handler_cpptoc.h"
|
||||
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
size_t CEF_CALLBACK read_handler_read(struct _cef_read_handler_t* self,
|
||||
void* ptr, size_t size, size_t n)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefReadHandlerCppToC::Get(self)->Read(ptr, size, n);
|
||||
}
|
||||
|
||||
int CEF_CALLBACK read_handler_seek(struct _cef_read_handler_t* self,
|
||||
long offset, int whence)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefReadHandlerCppToC::Get(self)->Seek(offset, whence);
|
||||
}
|
||||
|
||||
long CEF_CALLBACK read_handler_tell(struct _cef_read_handler_t* self)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefReadHandlerCppToC::Get(self)->Tell();
|
||||
}
|
||||
|
||||
int CEF_CALLBACK read_handler_eof(struct _cef_read_handler_t* self)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefReadHandlerCppToC::Get(self)->Eof();
|
||||
}
|
||||
|
||||
|
||||
// CONSTRUCTOR - Do not edit by hand.
|
||||
|
||||
CefReadHandlerCppToC::CefReadHandlerCppToC(CefReadHandler* cls)
|
||||
: CefCppToC<CefReadHandlerCppToC, CefReadHandler, cef_read_handler_t>(cls)
|
||||
{
|
||||
struct_.struct_.read = read_handler_read;
|
||||
struct_.struct_.seek = read_handler_seek;
|
||||
struct_.struct_.tell = read_handler_tell;
|
||||
struct_.struct_.eof = read_handler_eof;
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
long CefCppToC<CefReadHandlerCppToC, CefReadHandler,
|
||||
cef_read_handler_t>::DebugObjCt = 0;
|
||||
#endif
|
||||
|
34
libcef_dll/cpptoc/read_handler_cpptoc.h
Normal file
34
libcef_dll/cpptoc/read_handler_cpptoc.h
Normal file
@ -0,0 +1,34 @@
|
||||
// Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that
|
||||
// can be found in the LICENSE file.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
#ifndef _READHANDLER_CPPTOC_H
|
||||
#define _READHANDLER_CPPTOC_H
|
||||
|
||||
#ifndef USING_CEF_SHARED
|
||||
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
|
||||
#else // USING_CEF_SHARED
|
||||
|
||||
#include "cef.h"
|
||||
#include "cef_capi.h"
|
||||
#include "cpptoc.h"
|
||||
|
||||
// Wrap a C++ class with a C structure.
|
||||
// This class may be instantiated and accessed wrapper-side only.
|
||||
class CefReadHandlerCppToC
|
||||
: public CefCppToC<CefReadHandlerCppToC, CefReadHandler, cef_read_handler_t>
|
||||
{
|
||||
public:
|
||||
CefReadHandlerCppToC(CefReadHandler* cls);
|
||||
virtual ~CefReadHandlerCppToC() {}
|
||||
};
|
||||
|
||||
#endif // USING_CEF_SHARED
|
||||
#endif // _READHANDLER_CPPTOC_H
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#include "../precompiled_libcef.h"
|
||||
#include "cpptoc/stream_reader_cpptoc.h"
|
||||
#include "ctocpp/read_handler_ctocpp.h"
|
||||
|
||||
|
||||
// GLOBAL FUNCTIONS - Body may be edited by hand.
|
||||
@ -37,6 +38,16 @@ CEF_EXPORT cef_stream_reader_t* cef_stream_reader_create_for_data(void* data,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
CEF_EXPORT cef_stream_reader_t* cef_stream_reader_create_for_handler(
|
||||
cef_read_handler_t* handler)
|
||||
{
|
||||
CefRefPtr<CefStreamReader> impl =
|
||||
CefStreamReader::CreateForHandler(CefReadHandlerCToCpp::Wrap(handler));
|
||||
if(impl.get())
|
||||
return CefStreamReaderCppToC::Wrap(impl);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
|
@ -12,6 +12,38 @@
|
||||
|
||||
#include "../precompiled_libcef.h"
|
||||
#include "cpptoc/stream_writer_cpptoc.h"
|
||||
#include "ctocpp/write_handler_ctocpp.h"
|
||||
|
||||
|
||||
// GLOBAL FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
CEF_EXPORT cef_stream_writer_t* cef_stream_writer_create_for_file(
|
||||
const wchar_t* fileName)
|
||||
{
|
||||
DCHECK(fileName);
|
||||
if(!fileName)
|
||||
return NULL;
|
||||
|
||||
std::wstring fileNameStr = fileName;
|
||||
CefRefPtr<CefStreamWriter> impl = CefStreamWriter::CreateForFile(fileName);
|
||||
if(impl.get())
|
||||
return CefStreamWriterCppToC::Wrap(impl);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
CEF_EXPORT cef_stream_writer_t* cef_stream_writer_create_for_handler(
|
||||
cef_write_handler_t* handler)
|
||||
{
|
||||
DCHECK(handler);
|
||||
if(!handler)
|
||||
return NULL;
|
||||
|
||||
CefRefPtr<CefStreamWriter> impl =
|
||||
CefStreamWriter::CreateForHandler(CefWriteHandlerCToCpp::Wrap(handler));
|
||||
if(impl.get())
|
||||
return CefStreamWriterCppToC::Wrap(impl);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
74
libcef_dll/cpptoc/write_handler_cpptoc.cc
Normal file
74
libcef_dll/cpptoc/write_handler_cpptoc.cc
Normal file
@ -0,0 +1,74 @@
|
||||
// Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that
|
||||
// can be found in the LICENSE file.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// A portion of this file was generated by the CEF translator tool. When
|
||||
// making changes by hand only do so within the body of existing function
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
|
||||
#include "../precompiled_libcef.h"
|
||||
#include "cpptoc/write_handler_cpptoc.h"
|
||||
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
size_t CEF_CALLBACK write_handler_write(struct _cef_write_handler_t* self,
|
||||
const void* ptr, size_t size, size_t n)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefWriteHandlerCppToC::Get(self)->Write(ptr, size, n);
|
||||
}
|
||||
|
||||
int CEF_CALLBACK write_handler_seek(struct _cef_write_handler_t* self,
|
||||
long offset, int whence)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefWriteHandlerCppToC::Get(self)->Seek(offset, whence);
|
||||
}
|
||||
|
||||
long CEF_CALLBACK write_handler_tell(struct _cef_write_handler_t* self)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefWriteHandlerCppToC::Get(self)->Tell();
|
||||
}
|
||||
|
||||
int CEF_CALLBACK write_handler_flush(struct _cef_write_handler_t* self)
|
||||
{
|
||||
DCHECK(self);
|
||||
if(!self)
|
||||
return 0;
|
||||
|
||||
return CefWriteHandlerCppToC::Get(self)->Flush();
|
||||
}
|
||||
|
||||
|
||||
// CONSTRUCTOR - Do not edit by hand.
|
||||
|
||||
CefWriteHandlerCppToC::CefWriteHandlerCppToC(CefWriteHandler* cls)
|
||||
: CefCppToC<CefWriteHandlerCppToC, CefWriteHandler, cef_write_handler_t>(
|
||||
cls)
|
||||
{
|
||||
struct_.struct_.write = write_handler_write;
|
||||
struct_.struct_.seek = write_handler_seek;
|
||||
struct_.struct_.tell = write_handler_tell;
|
||||
struct_.struct_.flush = write_handler_flush;
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
long CefCppToC<CefWriteHandlerCppToC, CefWriteHandler,
|
||||
cef_write_handler_t>::DebugObjCt = 0;
|
||||
#endif
|
||||
|
35
libcef_dll/cpptoc/write_handler_cpptoc.h
Normal file
35
libcef_dll/cpptoc/write_handler_cpptoc.h
Normal file
@ -0,0 +1,35 @@
|
||||
// Copyright (c) 2009 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that
|
||||
// can be found in the LICENSE file.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool and should not edited
|
||||
// by hand. See the translator.README.txt file in the tools directory for
|
||||
// more information.
|
||||
//
|
||||
#ifndef _WRITEHANDLER_CPPTOC_H
|
||||
#define _WRITEHANDLER_CPPTOC_H
|
||||
|
||||
#ifndef USING_CEF_SHARED
|
||||
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
|
||||
#else // USING_CEF_SHARED
|
||||
|
||||
#include "cef.h"
|
||||
#include "cef_capi.h"
|
||||
#include "cpptoc.h"
|
||||
|
||||
// Wrap a C++ class with a C structure.
|
||||
// This class may be instantiated and accessed wrapper-side only.
|
||||
class CefWriteHandlerCppToC
|
||||
: public CefCppToC<CefWriteHandlerCppToC, CefWriteHandler,
|
||||
cef_write_handler_t>
|
||||
{
|
||||
public:
|
||||
CefWriteHandlerCppToC(CefWriteHandler* cls);
|
||||
virtual ~CefWriteHandlerCppToC() {}
|
||||
};
|
||||
|
||||
#endif // USING_CEF_SHARED
|
||||
#endif // _WRITEHANDLER_CPPTOC_H
|
||||
|
Reference in New Issue
Block a user