Re: BDiskSystem::Supports*()/Validate*()

Tyler Dauwalder <tyler-cyCl/[email protected]>
Newsgroups gmane.os.openbeos.storage
Message-ID <[email protected]>
On 2003-07-16 at 16:49:38 [-0700], you wrote:
> Howdy,
> 
> now that I implemented them all, I really start to wonder, whether 
> most
> of the BDiskSystem::Supports*()/Validate*() are really needed at all.
> Some of them, like SupportsDefragmenting(), are completely equivalent
> to a BPartition method (CanDefragment() in this case). Or say, they 
> are
> even less handy, because one has a redundant parameter that the method
> needs to check (the disk system the method is invoked on must be the
> one the partition is formatted with (or its parent partition for some
> methods)).
> 
> Others, like BDiskSystem::SupportsResizing() give different 
> information
> than BPartition::CanResize(). In fact the latter one is the result of
> an AND of BDiskSystem::SupportsResizing() and SupportsResizingChild().
> The question is: Are the individual pieces of information returned by
> the latter ones of interest or not?

I believe I had envisioned functions like BPartition::CanResize() being 
implemented by specifically calling BDiskSystem::SupportsResizing() for 
the appropriate disk system and then anding it with a call to 
SupportsResizingChild(). Doing it like you have by calling the kernel 
functions directly is fine, too, though. And as you mention, I guess 
it's more efficient, too. :-)

> So, what I think about is to
> 1) drop the BDiskSystem::Validate*() methods entirely,

Fine by me.

> 2) drop the BPartition* parameter of the Supports*() methods -- they
> would return only, if the disk system in principle has the
> capabilities, but not whether it can be done for a certain partition.

Sounds okay also. 

> So, the only remaining methods with a BPartition* parameters would be
> GetNextSupportedType(), which enumerates possible partition types for
> children of a partition, and IsSubSystemFor(), which tells whether the
> disk system is a subsystem of the system on the supplied partition
> (e.g. the `intel extended partition' system would be a subsystem for a
> `intel partition map' partition).
> 
> What do you think?

Looks good to me, I say go for it. :-)

-Tyler
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.