blob: ef1326c04aee6bfb22ed01341f1999679c7c85a6 [file] [log] [blame]
// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CROS_DISKS_EXTERNAL_MOUNTER_H_
#define CROS_DISKS_EXTERNAL_MOUNTER_H_
#include <string>
#include "cros-disks/mounter.h"
namespace cros_disks {
// A class for mounting a device file using an external mount program.
class ExternalMounter : public Mounter {
public:
// A unique type identifier of this derived mounter class.
static const char kMounterType[];
ExternalMounter(const std::string& source_path,
const std::string& target_path,
const std::string& filesystem_type,
const MountOptions& mount_options);
// Returns the full path of an external mount program if it is found in
// some predefined locations. Otherwise, an empty string is returned.
std::string GetMountProgramPath() const;
protected:
// Mounts a device file using an external mount program.
virtual MountErrorType MountImpl();
};
} // namespace cros_disks
#endif // CROS_DISKS_EXTERNAL_MOUNTER_H_