19d5f5318SJohn Scipione/* 2b885e90eSJohn Scipione * Copyright 2002-2014 Haiku, Inc. All rights reserved. 39d5f5318SJohn Scipione * Distributed under the terms of the MIT License. 49d5f5318SJohn Scipione * 59d5f5318SJohn Scipione * Authors: 69d5f5318SJohn Scipione * Tyler Dauwalder 79d5f5318SJohn Scipione * Vincent Dominguez 89d5f5318SJohn Scipione * John Scipione, jscipione@gmail.com 99d5f5318SJohn Scipione * Ingo Weinhold, bonefish@users.sf.net 109d5f5318SJohn Scipione * 119d5f5318SJohn Scipione * Corresponds to: 12b885e90eSJohn Scipione * headers/os/storage/Volume.h hrev47402 13b885e90eSJohn Scipione * src/kits/storage/Volume.cpp hrev47402 149d5f5318SJohn Scipione */ 159d5f5318SJohn Scipione 169d5f5318SJohn Scipione 179d5f5318SJohn Scipione/*! 189d5f5318SJohn Scipione \file Volume.h 199d5f5318SJohn Scipione \ingroup storage 209d5f5318SJohn Scipione \ingroup libbe 219d5f5318SJohn Scipione \brief Provides the BVolume class. 229d5f5318SJohn Scipione*/ 239d5f5318SJohn Scipione 249d5f5318SJohn Scipione 259d5f5318SJohn Scipione/*! 269d5f5318SJohn Scipione \class BVolume 279d5f5318SJohn Scipione \ingroup storage 289d5f5318SJohn Scipione \ingroup libbe 299d5f5318SJohn Scipione \brief Provides an interface for querying information about a volume. 309d5f5318SJohn Scipione 319d5f5318SJohn Scipione The class is a simple wrapper for a \c dev_t and the function 329d5f5318SJohn Scipione fs_stat_dev(). The sole exception is the SetName() method which 339d5f5318SJohn Scipione sets the name of the volume. 34b885e90eSJohn Scipione 35b885e90eSJohn Scipione \since BeOS R3 369d5f5318SJohn Scipione*/ 379d5f5318SJohn Scipione 389d5f5318SJohn Scipione 399d5f5318SJohn Scipione/*! 409d5f5318SJohn Scipione \fn BVolume::BVolume() 419d5f5318SJohn Scipione \brief Creates an uninitialized BVolume object. 429d5f5318SJohn Scipione 439d5f5318SJohn Scipione InitCheck() will return \c B_NO_INIT. 449d5f5318SJohn Scipione 459d5f5318SJohn Scipione \see SetTo() 46b885e90eSJohn Scipione 47b885e90eSJohn Scipione \since BeOS R3 489d5f5318SJohn Scipione*/ 499d5f5318SJohn Scipione 509d5f5318SJohn Scipione 519d5f5318SJohn Scipione/*! 529d5f5318SJohn Scipione \fn BVolume::BVolume(dev_t device) 539d5f5318SJohn Scipione \brief Creates a BVolume and initializes it to the volume specified 549d5f5318SJohn Scipione by the supplied device ID. 559d5f5318SJohn Scipione 569d5f5318SJohn Scipione InitCheck() should be called afterwards to check if initialization was 579d5f5318SJohn Scipione successful. 589d5f5318SJohn Scipione 599d5f5318SJohn Scipione \param device The device ID of the volume. 60b885e90eSJohn Scipione 61b885e90eSJohn Scipione \since BeOS R3 629d5f5318SJohn Scipione*/ 639d5f5318SJohn Scipione 649d5f5318SJohn Scipione 659d5f5318SJohn Scipione/*! 669d5f5318SJohn Scipione \fn BVolume::BVolume(const BVolume& volume) 679d5f5318SJohn Scipione \brief Creates a copy of the supplied BVolume object. 689d5f5318SJohn Scipione 699d5f5318SJohn Scipione Afterwards the object refers to the same device the supplied object 709d5f5318SJohn Scipione does. If the latter is not properly initialized, this result isn't 719d5f5318SJohn Scipione either. 729d5f5318SJohn Scipione 739d5f5318SJohn Scipione \param volume The volume object to be copied. 74b885e90eSJohn Scipione 75b885e90eSJohn Scipione \since BeOS R3 769d5f5318SJohn Scipione*/ 779d5f5318SJohn Scipione 789d5f5318SJohn Scipione 799d5f5318SJohn Scipione/*! 809d5f5318SJohn Scipione \fn BVolume::~BVolume() 819d5f5318SJohn Scipione \brief Destroys the object and frees all associated resources. 82b885e90eSJohn Scipione 83b885e90eSJohn Scipione \since BeOS R3 849d5f5318SJohn Scipione*/ 859d5f5318SJohn Scipione 869d5f5318SJohn Scipione 879d5f5318SJohn Scipione/*! 88b885e90eSJohn Scipione \name Constructor Helpers 899d5f5318SJohn Scipione*/ 909d5f5318SJohn Scipione 919d5f5318SJohn Scipione 929d5f5318SJohn Scipione//! @{ 939d5f5318SJohn Scipione 949d5f5318SJohn Scipione 959d5f5318SJohn Scipione/*! 969d5f5318SJohn Scipione \fn status_t BVolume::InitCheck(void) const 979d5f5318SJohn Scipione \brief Returns the initialization status. 989d5f5318SJohn Scipione 999d5f5318SJohn Scipione \return \c B_OK if the object was properly initialized, or an error code 1009d5f5318SJohn Scipione otherwise. 101b885e90eSJohn Scipione 102b885e90eSJohn Scipione \since BeOS R3 1039d5f5318SJohn Scipione*/ 1049d5f5318SJohn Scipione 1059d5f5318SJohn Scipione 1069d5f5318SJohn Scipione/*! 1079d5f5318SJohn Scipione \fn status_t BVolume::SetTo(dev_t device) 1089d5f5318SJohn Scipione \brief Initializes the object to refer to the volume specified by 1099d5f5318SJohn Scipione the supplied device ID. 1109d5f5318SJohn Scipione 1119d5f5318SJohn Scipione \param device The device ID of the volume to set. 112b885e90eSJohn Scipione 1139d5f5318SJohn Scipione \return \c B_OK if the object was properly initialized, or an error code 1149d5f5318SJohn Scipione otherwise. 115b885e90eSJohn Scipione 116b885e90eSJohn Scipione \since BeOS R3 1179d5f5318SJohn Scipione*/ 1189d5f5318SJohn Scipione 1199d5f5318SJohn Scipione 1209d5f5318SJohn Scipione/*! 1219d5f5318SJohn Scipione \fn void BVolume::Unset() 1229d5f5318SJohn Scipione \brief Brings the BVolume object to an uninitialized state. 1239d5f5318SJohn Scipione 1249d5f5318SJohn Scipione InitCheck() will return \c B_NO_INIT. 125b885e90eSJohn Scipione 126b885e90eSJohn Scipione \since BeOS R3 1279d5f5318SJohn Scipione*/ 1289d5f5318SJohn Scipione 1299d5f5318SJohn Scipione 1309d5f5318SJohn Scipione//! @} 1319d5f5318SJohn Scipione 1329d5f5318SJohn Scipione 1339d5f5318SJohn Scipione/*! 134b885e90eSJohn Scipione \name Volume Information 1359d5f5318SJohn Scipione*/ 1369d5f5318SJohn Scipione 1379d5f5318SJohn Scipione 1389d5f5318SJohn Scipione//! @{ 1399d5f5318SJohn Scipione 1409d5f5318SJohn Scipione 1419d5f5318SJohn Scipione/*! 1429d5f5318SJohn Scipione \fn dev_t BVolume::Device() const 1439d5f5318SJohn Scipione \brief Returns the device ID of the volume the object refers to. 1449d5f5318SJohn Scipione 1459d5f5318SJohn Scipione \return Returns the device ID of the volume the object refers to 1469d5f5318SJohn Scipione or -1 if the object was not properly initialized. 147b885e90eSJohn Scipione 148b885e90eSJohn Scipione \since BeOS R3 1499d5f5318SJohn Scipione*/ 1509d5f5318SJohn Scipione 1519d5f5318SJohn Scipione 1529d5f5318SJohn Scipione/*! 1539d5f5318SJohn Scipione \fn status_t BVolume::GetRootDirectory(BDirectory *directory) const 1549d5f5318SJohn Scipione \brief Writes the root directory of the volume referred to by this 1559d5f5318SJohn Scipione object into \a directory. 1569d5f5318SJohn Scipione 1579d5f5318SJohn Scipione \param directory A pointer to a pre-allocated BDirectory to be initialized 1589d5f5318SJohn Scipione to the volume's root directory. 1599d5f5318SJohn Scipione 1609d5f5318SJohn Scipione \return A status code. 1619d5f5318SJohn Scipione \retval B_OK Everything went fine. 1629d5f5318SJohn Scipione \retval B_BAD_VALUE \a directory was \c NULL or the object was not properly 1639d5f5318SJohn Scipione initialized. 164b885e90eSJohn Scipione 165b885e90eSJohn Scipione \since BeOS R3 1669d5f5318SJohn Scipione*/ 1679d5f5318SJohn Scipione 1689d5f5318SJohn Scipione 1699d5f5318SJohn Scipione/*! 1709d5f5318SJohn Scipione \fn off_t BVolume::Capacity() const 1719d5f5318SJohn Scipione \brief Returns the total storage capacity of the volume. 1729d5f5318SJohn Scipione 1739d5f5318SJohn Scipione \return The volume's total storage capacity (in bytes), or \c B_BAD_VALUE 1749d5f5318SJohn Scipione if the object is not properly initialized. 175b885e90eSJohn Scipione 176b885e90eSJohn Scipione \see FreeBytes() 177b885e90eSJohn Scipione 178b885e90eSJohn Scipione \since BeOS R3 1799d5f5318SJohn Scipione*/ 1809d5f5318SJohn Scipione 1819d5f5318SJohn Scipione 1829d5f5318SJohn Scipione/*! 1839d5f5318SJohn Scipione \fn off_t BVolume::FreeBytes() const 1849d5f5318SJohn Scipione \brief Returns the amount of unused space on the volume (in bytes). 1859d5f5318SJohn Scipione 1869d5f5318SJohn Scipione \return The amount of unused space on the volume (in bytes), or 1879d5f5318SJohn Scipione \c B_BAD_VALUE if the object is not properly initialized. 188b885e90eSJohn Scipione 189b885e90eSJohn Scipione \since BeOS R3 1909d5f5318SJohn Scipione*/ 1919d5f5318SJohn Scipione 1929d5f5318SJohn Scipione 1939d5f5318SJohn Scipione/*! 1949d5f5318SJohn Scipione \fn off_t BVolume::BlockSize() const 1959d5f5318SJohn Scipione \brief Returns the size of one block (in bytes). The meaning of this 1969d5f5318SJohn Scipione depends on the underlying file system. 1979d5f5318SJohn Scipione 1989d5f5318SJohn Scipione \return The block size in bytes, \c B_NO_INIT if the volume is not 1999d5f5318SJohn Scipione initialized or other errors forwarded from the file system. 200b885e90eSJohn Scipione 201b885e90eSJohn Scipione \since Haiku R1 2029d5f5318SJohn Scipione*/ 2039d5f5318SJohn Scipione 2049d5f5318SJohn Scipione 2059d5f5318SJohn Scipione//! @} 2069d5f5318SJohn Scipione 2079d5f5318SJohn Scipione 2089d5f5318SJohn Scipione/*! 209b885e90eSJohn Scipione \name Volume Name 2109d5f5318SJohn Scipione*/ 2119d5f5318SJohn Scipione 2129d5f5318SJohn Scipione 2139d5f5318SJohn Scipione//! @{ 2149d5f5318SJohn Scipione 2159d5f5318SJohn Scipione 2169d5f5318SJohn Scipione/*! 2179d5f5318SJohn Scipione \fn status_t BVolume::GetName(char* name) const 2189d5f5318SJohn Scipione \brief Writes the volume's name into the provided buffer. 2199d5f5318SJohn Scipione 2209d5f5318SJohn Scipione \param name A pointer to a pre-allocated character buffer of size 2219d5f5318SJohn Scipione \c B_FILE_NAME_LENGTH or larger into which the name of the 2229d5f5318SJohn Scipione volume is written. 2239d5f5318SJohn Scipione 2249d5f5318SJohn Scipione \return A status code. 2259d5f5318SJohn Scipione \retval B_OK Everything went fine. 2269d5f5318SJohn Scipione \retval B_BAD_VALUE \a name was \c NULL or the object was not properly 2279d5f5318SJohn Scipione initialized. 228b885e90eSJohn Scipione 229b885e90eSJohn Scipione \see SetName() 230b885e90eSJohn Scipione 231b885e90eSJohn Scipione \since BeOS R3 2329d5f5318SJohn Scipione*/ 2339d5f5318SJohn Scipione 2349d5f5318SJohn Scipione 2359d5f5318SJohn Scipione/*! 2369d5f5318SJohn Scipione \fn status_t BVolume::SetName(const char *name) 2379d5f5318SJohn Scipione \brief Sets the volume's name to \a name. 2389d5f5318SJohn Scipione 2399d5f5318SJohn Scipione \note The R5 implementation checks if an entry with the volume's old name 2409d5f5318SJohn Scipione exists in the root directory and renames that entry, if it is indeed 2419d5f5318SJohn Scipione the mount point of the volume (or a link referring to it). In all 2429d5f5318SJohn Scipione other cases, nothing is done (even if the mount point is named like 2439d5f5318SJohn Scipione the volume, but lives in a different directory). We follow suit for 2449d5f5318SJohn Scipione the time being. 2459d5f5318SJohn Scipione 2469d5f5318SJohn Scipione \warning If the volume name is set to "boot" this method tries to rename 2479d5f5318SJohn Scipione it to /boot, but is prevented by the kernel. 2489d5f5318SJohn Scipione 2499d5f5318SJohn Scipione \param name The new name of the volume, must not be longer than 2509d5f5318SJohn Scipione \c B_FILE_NAME_LENGTH (including the terminating \c NULL). 2519d5f5318SJohn Scipione 2529d5f5318SJohn Scipione \return A status code. 2539d5f5318SJohn Scipione \retval B_OK Everything went fine. 2549d5f5318SJohn Scipione \retval B_BAD_VALUE \a name was \c NULL or the object was not properly 2559d5f5318SJohn Scipione initialized. 256*f18d2effSJohn Scipione \retval B_NAME_TOO_LONG \a name was >= \c B_FILE_NAME_LENGTH. 257b885e90eSJohn Scipione 258*f18d2effSJohn Scipione \since BeOS R4 2599d5f5318SJohn Scipione*/ 2609d5f5318SJohn Scipione 2619d5f5318SJohn Scipione 2629d5f5318SJohn Scipione//! @} 2639d5f5318SJohn Scipione 2649d5f5318SJohn Scipione 2659d5f5318SJohn Scipione/*! 266b885e90eSJohn Scipione \name Volume Icon 2679d5f5318SJohn Scipione*/ 2689d5f5318SJohn Scipione 2699d5f5318SJohn Scipione 2709d5f5318SJohn Scipione//! @{ 2719d5f5318SJohn Scipione 2729d5f5318SJohn Scipione 2739d5f5318SJohn Scipione/*! 2749d5f5318SJohn Scipione \fn status_t BVolume::GetIcon(BBitmap *icon, icon_size which) const 2759d5f5318SJohn Scipione \brief Writes the volume's icon into the supplied BBitmap. 2769d5f5318SJohn Scipione 2779d5f5318SJohn Scipione \param icon A pointer to a pre-allocated BBitmap of the correct dimension 2789d5f5318SJohn Scipione to store the requested icon (16x16 for the mini and 32x32 for the 2799d5f5318SJohn Scipione large icon). 2809d5f5318SJohn Scipione 2819d5f5318SJohn Scipione \param which The icon size to be retrieved: \c B_MINI_ICON for the mini or 2829d5f5318SJohn Scipione \c B_LARGE_ICON for the large icon. 283b885e90eSJohn Scipione 284b885e90eSJohn Scipione \since BeOS R4 2859d5f5318SJohn Scipione*/ 2869d5f5318SJohn Scipione 2879d5f5318SJohn Scipione 2889d5f5318SJohn Scipione/*! 2899d5f5318SJohn Scipione \fn status_t BVolume::GetIcon(uint8** _data, size_t* _size, 2909d5f5318SJohn Scipione type_code* _type) const 2919d5f5318SJohn Scipione \brief Writes the volume's icon data into the supplied \c uint8 array. 2929d5f5318SJohn Scipione 2939d5f5318SJohn Scipione \param _data A pointer to a pointer to a pre-allocated \c uint8 array of 2949d5f5318SJohn Scipione the correct size to store the requested icon. 2959d5f5318SJohn Scipione \param _size The size of the retrieved icon (in bytes). 2969d5f5318SJohn Scipione \param _type The type code of the retrieve icon. 2979d5f5318SJohn Scipione 2989d5f5318SJohn Scipione \returns A status code. 2999d5f5318SJohn Scipione \retval B_OK Everything went fine. 3009d5f5318SJohn Scipione \retval B_NO_INIT Object was not properly initialized. 3019d5f5318SJohn Scipione 3029d5f5318SJohn Scipione \see fs_stat_dev() for more return codes. 3039d5f5318SJohn Scipione \see get_device_icon() for more return codes. 304b885e90eSJohn Scipione 305b885e90eSJohn Scipione \since Haiku R1 3069d5f5318SJohn Scipione*/ 3079d5f5318SJohn Scipione 3089d5f5318SJohn Scipione 3099d5f5318SJohn Scipione//! @} 3109d5f5318SJohn Scipione 3119d5f5318SJohn Scipione 3129d5f5318SJohn Scipione/*! 313b885e90eSJohn Scipione \name Volume Capabilities 3149d5f5318SJohn Scipione*/ 3159d5f5318SJohn Scipione 3169d5f5318SJohn Scipione 3179d5f5318SJohn Scipione//! @{ 3189d5f5318SJohn Scipione 3199d5f5318SJohn Scipione 3209d5f5318SJohn Scipione/*! 3219d5f5318SJohn Scipione \fn bool BVolume::IsRemovable() const 3229d5f5318SJohn Scipione \brief Returns whether or not the volume is removable. 3239d5f5318SJohn Scipione 3249d5f5318SJohn Scipione \return \c true, if the volume was properly initialized and is removable, 3259d5f5318SJohn Scipione \c false otherwise. 326b885e90eSJohn Scipione 327b885e90eSJohn Scipione \since BeOS R3 3289d5f5318SJohn Scipione*/ 3299d5f5318SJohn Scipione 3309d5f5318SJohn Scipione 3319d5f5318SJohn Scipione/*! 3329d5f5318SJohn Scipione \fn bool BVolume::IsReadOnly(void) const 3339d5f5318SJohn Scipione \brief Returns whether or not the volume is read-only. 3349d5f5318SJohn Scipione 3359d5f5318SJohn Scipione \return \c true, if the volume was properly initialized and is read-only, 3369d5f5318SJohn Scipione \c false otherwise. 337b885e90eSJohn Scipione 338b885e90eSJohn Scipione \since BeOS R3 3399d5f5318SJohn Scipione*/ 3409d5f5318SJohn Scipione 3419d5f5318SJohn Scipione 3429d5f5318SJohn Scipione/*! 3439d5f5318SJohn Scipione \fn bool BVolume::IsPersistent(void) const 3449d5f5318SJohn Scipione \brief Returns whether or not the volume is persistent. 3459d5f5318SJohn Scipione 3469d5f5318SJohn Scipione \return \c true, if the volume was properly initialized and is persistent, 3479d5f5318SJohn Scipione \c false otherwise. 348b885e90eSJohn Scipione 349b885e90eSJohn Scipione \since BeOS R3 3509d5f5318SJohn Scipione*/ 3519d5f5318SJohn Scipione 3529d5f5318SJohn Scipione 3539d5f5318SJohn Scipione/*! 3549d5f5318SJohn Scipione \fn bool BVolume::IsShared(void) const 3559d5f5318SJohn Scipione \brief Returns whether or not the volume is shared. 3569d5f5318SJohn Scipione 3579d5f5318SJohn Scipione return \c true, if the volume was properly initialized and is shared, 3589d5f5318SJohn Scipione \c false otherwise. 359b885e90eSJohn Scipione 360b885e90eSJohn Scipione \since BeOS R3 3619d5f5318SJohn Scipione*/ 3629d5f5318SJohn Scipione 3639d5f5318SJohn Scipione 3649d5f5318SJohn Scipione/*! 3659d5f5318SJohn Scipione \fn bool BVolume::KnowsMime(void) const 3669d5f5318SJohn Scipione \brief Returns whether or not the volume supports MIME-types. 3679d5f5318SJohn Scipione 3689d5f5318SJohn Scipione \return \c true, if the volume was properly initialized and supports 3699d5f5318SJohn Scipione MIME-types, \c false otherwise. 370b885e90eSJohn Scipione 371b885e90eSJohn Scipione \since BeOS R3 3729d5f5318SJohn Scipione*/ 3739d5f5318SJohn Scipione 3749d5f5318SJohn Scipione 3759d5f5318SJohn Scipione/*! 3769d5f5318SJohn Scipione \fn bool BVolume::KnowsAttr(void) const 3779d5f5318SJohn Scipione \brief Returns whether or not the volume supports attributes. 3789d5f5318SJohn Scipione 3799d5f5318SJohn Scipione \return \c true, if the volume was properly initialized and supports 3809d5f5318SJohn Scipione attributes, \c false otherwise. 381b885e90eSJohn Scipione 382b885e90eSJohn Scipione \since BeOS R3 3839d5f5318SJohn Scipione*/ 3849d5f5318SJohn Scipione 3859d5f5318SJohn Scipione 3869d5f5318SJohn Scipione/*! 3879d5f5318SJohn Scipione \fn bool BVolume::KnowsQuery(void) const 3889d5f5318SJohn Scipione \brief Returns whether or not the volume supports queries. 3899d5f5318SJohn Scipione 3909d5f5318SJohn Scipione \return \c true, if the volume was properly initialized and supports 3919d5f5318SJohn Scipione queries, \c false otherwise. 392b885e90eSJohn Scipione 393b885e90eSJohn Scipione \since BeOS R3 3949d5f5318SJohn Scipione*/ 3959d5f5318SJohn Scipione 3969d5f5318SJohn Scipione 3979d5f5318SJohn Scipione//! @} 3989d5f5318SJohn Scipione 3999d5f5318SJohn Scipione 4009d5f5318SJohn Scipione/*! 401b885e90eSJohn Scipione \name Operators 4029d5f5318SJohn Scipione*/ 4039d5f5318SJohn Scipione 4049d5f5318SJohn Scipione 4059d5f5318SJohn Scipione//! @{ 4069d5f5318SJohn Scipione 4079d5f5318SJohn Scipione 4089d5f5318SJohn Scipione/*! 4099d5f5318SJohn Scipione \fn bool BVolume::operator==(const BVolume &volume) const 4109d5f5318SJohn Scipione \brief Returns whether or not the supplied BVolume object is equal to this 4119d5f5318SJohn Scipione object. 4129d5f5318SJohn Scipione 4139d5f5318SJohn Scipione Two volume objects are said to be equal if they are both uninitialized, 4149d5f5318SJohn Scipione or they are both initialized and refer to the same volume. 4159d5f5318SJohn Scipione 4169d5f5318SJohn Scipione \param volume The volume to be tested for equality. 4179d5f5318SJohn Scipione 4189d5f5318SJohn Scipione \return \c true, if the objects are equal, \c false otherwise. 419b885e90eSJohn Scipione 420b885e90eSJohn Scipione \since BeOS R3 4219d5f5318SJohn Scipione*/ 4229d5f5318SJohn Scipione 4239d5f5318SJohn Scipione 4249d5f5318SJohn Scipione/*! 4259d5f5318SJohn Scipione \fn bool BVolume::operator!=(const BVolume &volume) const 4269d5f5318SJohn Scipione \brief Returns whether or not the supplied BVolume object is NOT equal to 4279d5f5318SJohn Scipione this object. 4289d5f5318SJohn Scipione 4299d5f5318SJohn Scipione Two volume objects are said to be unequal if one is initialized and the 4309d5f5318SJohn Scipione other is not or if they are both initialized and refer to the different 4319d5f5318SJohn Scipione volumes. 4329d5f5318SJohn Scipione 4339d5f5318SJohn Scipione \param volume The volume to be tested for inequality. 4349d5f5318SJohn Scipione 4359d5f5318SJohn Scipione \return \c true, if the objects and unequal, \c false otherwise. 436b885e90eSJohn Scipione 437b885e90eSJohn Scipione \since BeOS R3 4389d5f5318SJohn Scipione*/ 4399d5f5318SJohn Scipione 4409d5f5318SJohn Scipione 4419d5f5318SJohn Scipione/*! 4429d5f5318SJohn Scipione \fn BVolume& BVolume::operator=(const BVolume &volume) 4439d5f5318SJohn Scipione \brief Assigns the supplied BVolume object to this volume, this object is 4449d5f5318SJohn Scipione made to be an exact clone of the supplied one. 4459d5f5318SJohn Scipione 4469d5f5318SJohn Scipione \param volume The volume to be assigned. 4479d5f5318SJohn Scipione 4489d5f5318SJohn Scipione \return A reference to this object. 449b885e90eSJohn Scipione 450b885e90eSJohn Scipione \since BeOS R3 4519d5f5318SJohn Scipione*/ 4529d5f5318SJohn Scipione 4539d5f5318SJohn Scipione 4549d5f5318SJohn Scipione//! @} 455