| Index: webkit/glue/plugins/pepper_directory_reader.cc
|
| ===================================================================
|
| --- webkit/glue/plugins/pepper_directory_reader.cc (revision 0)
|
| +++ webkit/glue/plugins/pepper_directory_reader.cc (revision 0)
|
| @@ -0,0 +1,69 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "webkit/glue/plugins/pepper_directory_reader.h"
|
| +
|
| +#include "base/logging.h"
|
| +#include "third_party/ppapi/c/pp_completion_callback.h"
|
| +#include "third_party/ppapi/c/pp_errors.h"
|
| +#include "webkit/glue/plugins/pepper_file_ref.h"
|
| +#include "webkit/glue/plugins/pepper_resource_tracker.h"
|
| +
|
| +namespace pepper {
|
| +
|
| +namespace {
|
| +
|
| +PP_Resource Create(PP_Resource directory_ref_id) {
|
| + scoped_refptr<FileRef> directory_ref(
|
| + ResourceTracker::Get()->GetAsFileRef(directory_ref_id));
|
| + if (!directory_ref.get())
|
| + return 0;
|
| +
|
| + DirectoryReader* reader = new DirectoryReader(directory_ref);
|
| + reader->AddRef(); // AddRef for the caller;
|
| + return reader->GetResource();
|
| +}
|
| +
|
| +bool IsDirectoryReader(PP_Resource resource) {
|
| + return !!ResourceTracker::Get()->GetAsDirectoryReader(resource).get();
|
| +}
|
| +
|
| +int32_t GetNextEntry(PP_Resource reader_id,
|
| + PP_DirectoryEntry* entry,
|
| + PP_CompletionCallback callback) {
|
| + scoped_refptr<DirectoryReader> reader(
|
| + ResourceTracker::Get()->GetAsDirectoryReader(reader_id));
|
| + if (!reader.get())
|
| + return PP_Error_BadResource;
|
| +
|
| + return reader->GetNextEntry(entry, callback);
|
| +}
|
| +
|
| +const PPB_DirectoryReader ppb_directoryreader = {
|
| + &Create,
|
| + &IsDirectoryReader,
|
| + &GetNextEntry
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +DirectoryReader::DirectoryReader(FileRef* directory_ref)
|
| + : Resource(directory_ref->module()),
|
| + directory_ref_(directory_ref) {
|
| +}
|
| +
|
| +DirectoryReader::~DirectoryReader() {
|
| +}
|
| +
|
| +const PPB_DirectoryReader* DirectoryReader::GetInterface() {
|
| + return &ppb_directoryreader;
|
| +}
|
| +
|
| +int32_t DirectoryReader::GetNextEntry(PP_DirectoryEntry* entry,
|
| + PP_CompletionCallback callback) {
|
| + NOTIMPLEMENTED(); // TODO(darin): Implement me!
|
| + return PP_Error_Failed;
|
| +}
|
| +
|
| +} // namespace pepper
|
|
|
| Property changes on: webkit\glue\plugins\pepper_directory_reader.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|