1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef LIBRARIES_NACL_IO_MOUNT_FACTORY_H_ 6 #define LIBRARIES_NACL_IO_MOUNT_FACTORY_H_ 7 8 #include <map> 9 #include <string> 10 11 #include "nacl_io/error.h" 12 #include "sdk_util/scoped_ref.h" 13 14 namespace nacl_io { 15 16 class PepperInterface; 17 class Mount; 18 19 typedef std::map<std::string, std::string> StringMap_t; 20 21 class MountFactory { 22 public: 23 virtual ~MountFactory() {} 24 virtual Error CreateMount(int dev, 25 StringMap_t& args, 26 PepperInterface* ppapi, 27 sdk_util::ScopedRef<Mount>* out_mount) = 0; 28 }; 29 30 } // namespace nacl_io 31 32 #endif // LIBRARIES_NACL_IO_MOUNT_FACTORY_H_ 33 34