libstorage-ng
Public Member Functions | Protected Member Functions | List of all members
storage::PartitionTable Class Reference
Inheritance diagram for storage::PartitionTable:
[legend]
Collaboration diagram for storage::PartitionTable:
[legend]

Public Member Functions

PtType get_type () const
 
Partitioncreate_partition (const std::string &name, const Region &region, PartitionType type)
 region is sector-based. More...
 
void delete_partition (Partition *partition)
 Delete a partition in the partition table. More...
 
void delete_partition (const std::string &name) ST_DEPRECATED
 
unsigned int max_primary () const
 Highest number for a primary or extended partition. More...
 
bool extended_possible () const
 Returns whether a extended partition is supported. More...
 
unsigned int max_logical () const
 Highest number for a logical partition. More...
 
unsigned int num_primary () const
 
bool has_extended () const
 
unsigned int num_logical () const
 
std::vector< Partition * > get_partitions ()
 Get partitions of the partition table.
 
std::vector< const Partition * > get_partitions () const
 Get partitions of the partition table. More...
 
Partitionget_partition (const std::string &name)
 
const Partitionget_extended () const
 Returns the extended partition of the partition table. More...
 
const Partitionableget_partitionable () const
 
Alignment get_alignment (AlignType align_type=AlignType::OPTIMAL) const
 
std::vector< PartitionSlotget_unused_partition_slots (AlignPolicy align_policy=AlignPolicy::ALIGN_START_KEEP_END, AlignType align_type=AlignType::OPTIMAL) const
 
Region align (const Region &region, AlignPolicy align_policy=AlignPolicy::ALIGN_START_AND_END, AlignType align_type=AlignType::OPTIMAL) const
 region is sector-based. More...
 
bool is_partition_boot_flag_supported () const
 Returns whether the boot flag is supported on partitions on the partition table.
 
bool is_partition_legacy_boot_flag_supported () const
 Returns whether the legacy boot flag is supported on partitions on the partition table.
 
bool is_partition_id_supported (unsigned int id) const
 Returns whether the partition id is supported on the partition table.
 
Impl & get_impl ()
 
const Impl & get_impl () const
 
- Public Member Functions inherited from storage::Device
sid_t get_sid () const
 
bool operator== (const Device &rhs) const
 
bool operator!= (const Device &rhs) const
 
Devicecopy_to_devicegraph (Devicegraph *devicegraph) const
 Copies the device to the devicegraph. More...
 
bool exists_in_devicegraph (const Devicegraph *devicegraph) const
 Checks if the device exists in the devicegraph.
 
bool exists_in_probed () const
 Checks if the device exists in the probed devicegraph.
 
bool exists_in_staging () const
 Checks if the device exists in the staging devicegraph.
 
bool exists_in_system () const
 Checks if the device exists in the system devicegraph.
 
std::string get_displayname () const
 
ResizeInfo detect_resize_info () const
 Detect the resize info of the device. More...
 
bool has_children () const
 
size_t num_children () const
 
bool has_parents () const
 
size_t num_parents () const
 
std::vector< Device * > get_children ()
 
std::vector< const Device * > get_children () const
 
std::vector< Device * > get_parents ()
 
std::vector< const Device * > get_parents () const
 
std::vector< Device * > get_siblings (bool itself)
 
std::vector< const Device * > get_siblings (bool itself) const
 
std::vector< Device * > get_descendants (bool itself)
 
std::vector< const Device * > get_descendants (bool itself) const
 
std::vector< Device * > get_ancestors (bool itself)
 
std::vector< const Device * > get_ancestors (bool itself) const
 
std::vector< Device * > get_leaves (bool itself)
 
std::vector< const Device * > get_leaves (bool itself) const
 
std::vector< Device * > get_roots (bool itself)
 
std::vector< const Device * > get_roots (bool itself) const
 
std::vector< Holder * > get_in_holders ()
 
std::vector< const Holder * > get_in_holders () const
 
std::vector< Holder * > get_out_holders ()
 
std::vector< const Holder * > get_out_holders () const
 
void remove_descendants ()
 
const std::map< std::string, std::string > & get_userdata () const
 
void set_userdata (const std::map< std::string, std::string > &userdata)
 
Devicegraphget_devicegraph ()
 
const Devicegraphget_devicegraph () const
 
Impl & get_impl ()
 
const Impl & get_impl () const
 
virtual Deviceclone () const =0
 
void save (xmlNode *node) const
 

Protected Member Functions

 PartitionTable (Impl *impl)
 
- Protected Member Functions inherited from storage::Device
 Device (Impl *impl)
 
void create (Devicegraph *devicegraph)
 
void load (Devicegraph *devicegraph)
 

Additional Inherited Members

- Static Public Member Functions inherited from storage::Device
static std::vector< Device * > get_all (Devicegraph *devicegraph)
 
static std::vector< const Device * > get_all (const Devicegraph *devicegraph)
 
static bool compare_by_sid (const Device *lhs, const Device *rhs)
 Compare (less than) two Devices by sid.
 
static bool compare_by_name (const Device *lhs, const Device *rhs)
 Compare (less than) two Devices by name. More...
 

Member Function Documentation

◆ align()

Region storage::PartitionTable::align ( const Region region,
AlignPolicy  align_policy = AlignPolicy::ALIGN_START_AND_END,
AlignType  align_type = AlignType::OPTIMAL 
) const

region is sector-based.

Exceptions
AlignError

◆ create_partition()

Partition* storage::PartitionTable::create_partition ( const std::string &  name,
const Region region,
PartitionType  type 
)

region is sector-based.

Exceptions
DifferentBlockSizes

◆ delete_partition()

void storage::PartitionTable::delete_partition ( Partition partition)

Delete a partition in the partition table.

Also deletes all descendants of the partition.

◆ extended_possible()

bool storage::PartitionTable::extended_possible ( ) const

Returns whether a extended partition is supported.

This function is independend of existing partitions.

◆ get_extended()

const Partition* storage::PartitionTable::get_extended ( ) const

Returns the extended partition of the partition table.

Throws if no extended partition exists.

Exceptions
Exception

◆ get_partition()

Partition* storage::PartitionTable::get_partition ( const std::string &  name)
Exceptions
Exception

◆ get_partitionable()

const Partitionable* storage::PartitionTable::get_partitionable ( ) const
Exceptions
Exception

◆ get_partitions()

std::vector<const Partition*> storage::PartitionTable::get_partitions ( ) const

Get partitions of the partition table.

◆ get_unused_partition_slots()

std::vector<PartitionSlot> storage::PartitionTable::get_unused_partition_slots ( AlignPolicy  align_policy = AlignPolicy::ALIGN_START_KEEP_END,
AlignType  align_type = AlignType::OPTIMAL 
) const
Exceptions
Exception

◆ max_logical()

unsigned int storage::PartitionTable::max_logical ( ) const

Highest number for a logical partition.

Returns 0 if no logical partition is possible.

Lowest number for a logical partition is 5.

This function is independend of existing partitions.

◆ max_primary()

unsigned int storage::PartitionTable::max_primary ( ) const

Highest number for a primary or extended partition.

Returns 0 if no primary or extended partition is possible.

Lowest number for a primary or extended partition is 1.

This function is independend of existing partitions.


The documentation for this class was generated from the following file: