65 lines
1.3 KiB
C++
65 lines
1.3 KiB
C++
/*
|
|
* Copyright 2002-2013 Haiku, Inc. All rights reserved.
|
|
* Distributed under the terms of the MIT license.
|
|
*/
|
|
#ifndef SUPPORT_H
|
|
#define SUPPORT_H
|
|
|
|
|
|
#include <DiskDeviceDefs.h>
|
|
#include <HashMap.h>
|
|
#include <HashString.h>
|
|
#include <Slider.h>
|
|
#include <String.h>
|
|
#include "StringForSize.h"
|
|
|
|
|
|
class BPartition;
|
|
|
|
|
|
void dump_partition_info(const BPartition* partition);
|
|
|
|
bool is_valid_partitionable_space(size_t size);
|
|
|
|
|
|
class SpaceIDMap : public HashMap<HashString, partition_id> {
|
|
public:
|
|
SpaceIDMap();
|
|
virtual ~SpaceIDMap();
|
|
|
|
partition_id SpaceIDFor(partition_id parentID,
|
|
off_t spaceOffset);
|
|
|
|
private:
|
|
partition_id fNextSpaceID;
|
|
};
|
|
|
|
|
|
class SizeSlider : public BSlider {
|
|
public:
|
|
SizeSlider(const char* name, const char* label,
|
|
BMessage* message, off_t offset,
|
|
off_t size, uint32 minGranularity);
|
|
virtual ~SizeSlider();
|
|
|
|
virtual void SetValue(int32 value);
|
|
virtual const char* UpdateText() const;
|
|
|
|
off_t Size() const;
|
|
void SetSize(off_t size);
|
|
|
|
off_t Offset() const;
|
|
off_t MaxPartitionSize() const;
|
|
|
|
private:
|
|
off_t fStartOffset;
|
|
off_t fEndOffset;
|
|
off_t fSize;
|
|
off_t fMaxPartitionSize;
|
|
uint32 fGranularity;
|
|
mutable char fStatusLabel[64];
|
|
};
|
|
|
|
|
|
#endif // SUPPORT_H
|