Added DiskDevice API source files with empty implementation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2614 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -0,0 +1,160 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <DiskDevice.h>
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BDiskDevice::BDiskDevice()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
BDiskDevice::~BDiskDevice()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// CountSessions
|
||||||
|
int32
|
||||||
|
BDiskDevice::CountSessions() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// SessionAt
|
||||||
|
BSession *
|
||||||
|
BDiskDevice::SessionAt(int32 index) const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// CountPartitions
|
||||||
|
int32
|
||||||
|
BDiskDevice::CountPartitions() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// BlockSize
|
||||||
|
int32
|
||||||
|
BDiskDevice::BlockSize() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// DevicePath
|
||||||
|
const char *
|
||||||
|
BDiskDevice::DevicePath() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName
|
||||||
|
void
|
||||||
|
BDiskDevice::GetName(BString *name, bool includeBusID, bool includeLUN) const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetName
|
||||||
|
void
|
||||||
|
BDiskDevice::GetName(char *name, bool includeBusID, bool includeLUN) const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsReadOnly
|
||||||
|
bool
|
||||||
|
BDiskDevice::IsReadOnly() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsRemovable
|
||||||
|
bool
|
||||||
|
BDiskDevice::IsRemovable() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// HasMedia
|
||||||
|
bool
|
||||||
|
BDiskDevice::HasMedia() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsFloppy
|
||||||
|
bool
|
||||||
|
BDiskDevice::IsFloppy() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Type
|
||||||
|
uint8
|
||||||
|
BDiskDevice::Type() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// UniqueID
|
||||||
|
int32
|
||||||
|
BDiskDevice::UniqueID() const
|
||||||
|
{
|
||||||
|
return -1; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Eject
|
||||||
|
status_t
|
||||||
|
BDiskDevice::Eject()
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// LowLevelFormat
|
||||||
|
status_t
|
||||||
|
BDiskDevice::LowLevelFormat()
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update
|
||||||
|
status_t
|
||||||
|
BDiskDevice::Update()
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachSession
|
||||||
|
BSession *
|
||||||
|
BDiskDevice::VisitEachSession(BDiskDeviceVisitor *visitor)
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachPartition
|
||||||
|
BPartition *
|
||||||
|
BDiskDevice::VisitEachPartition(BDiskDeviceVisitor *visitor)
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Traverse
|
||||||
|
bool
|
||||||
|
BDiskDevice::Traverse(BDiskDeviceVisitor *visitor)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// copy constructor
|
||||||
|
BDiskDevice::BDiskDevice(const BDiskDevice &)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// =
|
||||||
|
BDiskDevice &
|
||||||
|
BDiskDevice::operator=(const BDiskDevice &)
|
||||||
|
{
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <DiskDeviceRoster.h>
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BDiskDeviceRoster::BDiskDeviceRoster()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
BDiskDeviceRoster::~BDiskDeviceRoster()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetNextDevice
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::GetNextDevice(BDiskDevice *device)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rewind
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::Rewind()
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachDevice
|
||||||
|
bool
|
||||||
|
BDiskDeviceRoster::VisitEachDevice(BDiskDeviceVisitor *visitor,
|
||||||
|
BDiskDevice *device)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachPartition
|
||||||
|
bool
|
||||||
|
BDiskDeviceRoster::VisitEachPartition(BDiskDeviceVisitor *visitor,
|
||||||
|
BDiskDevice *device,
|
||||||
|
BPartition **partition)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Traverse
|
||||||
|
bool
|
||||||
|
BDiskDeviceRoster::Traverse(BDiskDeviceVisitor *visitor)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachMountedPartition
|
||||||
|
bool
|
||||||
|
BDiskDeviceRoster::VisitEachMountedPartition(BDiskDeviceVisitor *visitor,
|
||||||
|
BDiskDevice *device,
|
||||||
|
BPartition **partition)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachMountablePartition
|
||||||
|
bool
|
||||||
|
BDiskDeviceRoster::VisitEachMountablePartition(BDiskDeviceVisitor *visitor,
|
||||||
|
BDiskDevice *device,
|
||||||
|
BPartition **partition)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VisitEachInitializablePartition
|
||||||
|
bool
|
||||||
|
BDiskDeviceRoster::VisitEachInitializablePartition(BDiskDeviceVisitor *visitor,
|
||||||
|
BDiskDevice *device,
|
||||||
|
BPartition **partition)
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDeviceWithID
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::GetDeviceWithID(int32 id, BDiskDevice *device) const
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetSessionWithID
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::GetSessionWithID(int32 id, BDiskDevice *device,
|
||||||
|
BSession **session) const
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPartitionWithID
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::GetPartitionWithID(int32 id, BDiskDevice *device,
|
||||||
|
BPartition **partition) const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// StartWatching
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::StartWatching(BMessenger target, uint32 eventMask)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// StopWatching
|
||||||
|
status_t
|
||||||
|
BDiskDeviceRoster::StopWatching(BMessenger target)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <DiskDeviceVisitor.h>
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BDiskDeviceVisitor::BDiskDeviceVisitor()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
BDiskDeviceVisitor::~BDiskDeviceVisitor()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// Visit
|
||||||
|
bool
|
||||||
|
BDiskDeviceVisitor::Visit(BDiskDevice *device)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Visit
|
||||||
|
bool
|
||||||
|
BDiskDeviceVisitor::Visit(BSession *device)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Visit
|
||||||
|
bool
|
||||||
|
BDiskDeviceVisitor::Visit(BPartition *device)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,215 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <Partition.h>
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BPartition::BPartition()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
BPartition::~BPartition()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// Session
|
||||||
|
BSession *
|
||||||
|
BPartition::Session() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Device
|
||||||
|
BDiskDevice *
|
||||||
|
BPartition::Device() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Offset
|
||||||
|
off_t
|
||||||
|
BPartition::Offset() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Size
|
||||||
|
off_t
|
||||||
|
BPartition::Size() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// BlockSize
|
||||||
|
int32
|
||||||
|
BPartition::BlockSize() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Index
|
||||||
|
int32
|
||||||
|
BPartition::Index() const
|
||||||
|
{
|
||||||
|
return -1; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
uint32
|
||||||
|
BPartition::Flags() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsHidden
|
||||||
|
bool
|
||||||
|
BPartition::IsHidden() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsVirtual
|
||||||
|
bool
|
||||||
|
BPartition::IsVirtual() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsEmpty
|
||||||
|
bool
|
||||||
|
BPartition::IsEmpty() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Name
|
||||||
|
const char *
|
||||||
|
BPartition::Name() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Type
|
||||||
|
const char *
|
||||||
|
BPartition::Type() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// FileSystemShortName
|
||||||
|
const char *
|
||||||
|
BPartition::FileSystemShortName() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// FileSystemLongName
|
||||||
|
const char *
|
||||||
|
BPartition::FileSystemLongName() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// VolumeName
|
||||||
|
const char *
|
||||||
|
BPartition::VolumeName() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// FileSystemFlags
|
||||||
|
uint32
|
||||||
|
BPartition::FileSystemFlags() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsMounted
|
||||||
|
bool
|
||||||
|
BPartition::IsMounted() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// UniqueID
|
||||||
|
int32
|
||||||
|
BPartition::UniqueID() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetVolume
|
||||||
|
status_t
|
||||||
|
BPartition::GetVolume(BVolume *volume) const
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetIcon
|
||||||
|
status_t
|
||||||
|
BPartition::GetIcon(BBitmap *icon, icon_size which) const
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Mount
|
||||||
|
status_t
|
||||||
|
BPartition::Mount(uint32 mountflags, const char *parameters)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unmount
|
||||||
|
status_t
|
||||||
|
BPartition::Unmount()
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetInitializationParameters
|
||||||
|
status_t
|
||||||
|
BPartition::GetInitializationParameters(const char *fileSystem,
|
||||||
|
BPoint dialogCenter,
|
||||||
|
BString *parameters,
|
||||||
|
bool *cancelled);
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize
|
||||||
|
status_t
|
||||||
|
BPartition::Initialize(const char *fileSystem, const char *parameters)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize
|
||||||
|
status_t
|
||||||
|
BPartition::Initialize(const char *fileSystem, BPoint dialogCenter,
|
||||||
|
bool *cancelled);
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetFileSystemList
|
||||||
|
status_t
|
||||||
|
BPartition::GetFileSystemList(BObjectList<BString*> *list)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BPartition::BPartition(const BPartition &)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// =
|
||||||
|
BPartition &
|
||||||
|
BPartition::operator=(const BPartition &)
|
||||||
|
{
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
//----------------------------------------------------------------------
|
||||||
|
// This software is part of the OpenBeOS distribution and is covered
|
||||||
|
// by the OpenBeOS license.
|
||||||
|
//---------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <Session.h>
|
||||||
|
|
||||||
|
const char *B_INTEL_PARTITION_STYLE = "intel";
|
||||||
|
|
||||||
|
// constructor
|
||||||
|
BSession::BSession()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
BSession::~BSession()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// Device
|
||||||
|
BDiskDevice *
|
||||||
|
BSession::Device() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Offset
|
||||||
|
off_t
|
||||||
|
BSession::Offset() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Size
|
||||||
|
off_t
|
||||||
|
BSession::Size() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// CountPartitions
|
||||||
|
int32
|
||||||
|
BSession::CountPartitions() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartitionAt
|
||||||
|
BPartition *
|
||||||
|
BSession::PartitionAt(int32 index) const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Index
|
||||||
|
int32
|
||||||
|
BSession::Index() const
|
||||||
|
{
|
||||||
|
return -1; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Flags
|
||||||
|
uint32
|
||||||
|
BSession::Flags() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsAudio
|
||||||
|
bool
|
||||||
|
BSession::IsAudio() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsData
|
||||||
|
bool
|
||||||
|
BSession::IsData() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// IsVirtual
|
||||||
|
bool
|
||||||
|
BSession::IsVirtual() const
|
||||||
|
{
|
||||||
|
return false; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// PartitionStyle
|
||||||
|
const char *
|
||||||
|
BSession::PartitionStyle() const
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// UniqueID
|
||||||
|
int32
|
||||||
|
BSession::UniqueID() const
|
||||||
|
{
|
||||||
|
return 0; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// EachPartition
|
||||||
|
BPartition *
|
||||||
|
BSession::EachPartition(BDiskDeviceVisitor *visitor)
|
||||||
|
{
|
||||||
|
return NULL; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetPartitioningParameters
|
||||||
|
status_t
|
||||||
|
BSession::GetPartitioningParameters(const char *partitioningSystem,
|
||||||
|
BPoint dialogCenter, BString *parameters,
|
||||||
|
bool *cancelled)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Partition
|
||||||
|
status_t
|
||||||
|
BSession::Partition(const char *partitioningSystem, const char *parameters)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// Partition
|
||||||
|
status_t
|
||||||
|
BSession::Partition(const char *partitioningSystem, BPoint dialogCenter,
|
||||||
|
bool *cancelled)
|
||||||
|
{
|
||||||
|
return B_ERROR; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
|
// copy constructor
|
||||||
|
BSession::BSession(const BSession &)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
// =
|
||||||
|
BSession &
|
||||||
|
BSession::operator=(const BSession &)
|
||||||
|
{
|
||||||
|
return *this; // not implemented
|
||||||
|
}
|
||||||
|
|
||||||
Reference in New Issue
Block a user