24#ifndef STORAGE_PARTITIONABLE_H
25#define STORAGE_PARTITIONABLE_H
30#include "storage/Devices/BlkDevice.h"
31#include "storage/Devices/PartitionTable.h"
43 const Topology& get_topology()
const;
44 void set_topology(
const Topology& topology);
136 const Impl& get_impl()
const;
An abstract Block Device.
Definition BlkDevice.h:49
An abstract base class for storage devices.
Definition Device.h:82
The main container of the libstorage-ng.
Definition Devicegraph.h:170
Definition PartitionTable.h:88
Definition Partitionable.h:40
unsigned int get_range() const
Query the range of device nodes available.
const PartitionTable * get_partition_table() const
Return the partition table of the partitionable.
bool is_usable_as_partitionable() const
Checks whether the partitionable is in general usable as a partitionable (can hold a partition table)...
std::vector< PtType > get_possible_partition_table_types() const
Get possible partition table types for the disk.
static std::vector< const Partitionable * > get_all(const Devicegraph *devicegraph)
Get all Partitionables.
static std::vector< Partitionable * > get_all(Devicegraph *devicegraph)
Get all Partitionables.
virtual std::string partition_name(int number) const
Return the name of the partition with the specified number.
PartitionTable * create_partition_table(PtType pt_type)
Create a partition table on the partitionable.
bool has_partition_table() const
Check whether the partitionable has a partition table.
void set_range(unsigned int range)
Set the range of device nodes available.
PtType get_default_partition_table_type() const
Get the default partition table type for the partitionable.
PartitionTable * get_partition_table()
Return the partition table of the partitionable.
A class to represent hardware alignment information.
Definition Topology.h:39
The storage namespace.
Definition Actiongraph.h:40
PtType
Partition Table Type.
Definition PartitionTable.h:42
bool is_partitionable(const Device *device)
Checks whether device points to a Partitionable.
Partitionable * to_partitionable(Device *device)
Converts pointer to Device to pointer to Partitionable.