- 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:
Marshall Greenblatt
2009-08-21 17:41:09 +00:00
parent b821811c08
commit 2b7e69d200
34 changed files with 1592 additions and 516 deletions

View File

@@ -10,7 +10,8 @@
// Static functions
CefRefPtr<CefStreamReader> CefStreamReader::CreateForFile(const std::wstring& fileName)
CefRefPtr<CefStreamReader> CefStreamReader::CreateForFile(
const std::wstring& fileName)
{
CefRefPtr<CefStreamReader> reader;
FILE *f = _wfopen(fileName.c_str(), L"rb");
@@ -19,7 +20,8 @@ CefRefPtr<CefStreamReader> CefStreamReader::CreateForFile(const std::wstring& fi
return reader;
}
CefRefPtr<CefStreamReader> CefStreamReader::CreateForData(void* data, size_t size)
CefRefPtr<CefStreamReader> CefStreamReader::CreateForData(void* data,
size_t size)
{
DCHECK(data != NULL);
DCHECK(size > 0);
@@ -29,6 +31,37 @@ CefRefPtr<CefStreamReader> CefStreamReader::CreateForData(void* data, size_t siz
return reader;
}
CefRefPtr<CefStreamReader> CefStreamReader::CreateForHandler(
CefRefPtr<CefReadHandler> handler)
{
DCHECK(handler.get());
CefRefPtr<CefStreamReader> reader;
if(handler.get())
reader = new CefHandlerReader(handler);
return reader;
}
CefRefPtr<CefStreamWriter> CefStreamWriter::CreateForFile(
const std::wstring& fileName)
{
DCHECK(!fileName.empty());
CefRefPtr<CefStreamWriter> writer;
FILE* file = _wfopen(fileName.c_str(), L"wb");
if(file)
writer = new CefFileWriter(file, true);
return writer;
}
CefRefPtr<CefStreamWriter> CefStreamWriter::CreateForHandler(
CefRefPtr<CefWriteHandler> handler)
{
DCHECK(handler.get());
CefRefPtr<CefStreamWriter> writer;
if(handler.get())
writer = new CefHandlerWriter(handler);
return writer;
}
// CefFileReader