From c44145f5513609284b51e80c30f6fc49dff058f2 Mon Sep 17 00:00:00 2001 From: ksherlock Date: Mon, 21 Feb 2011 22:47:56 +0000 Subject: [PATCH] this to smart_ptr git-svn-id: https://profuse.googlecode.com/svn/branches/profuse_interim@343 aa027e90-d47c-11dd-86d7-074df07e0730 --- Cache/BlockCache.cpp | 2 +- Device/BlockDevice.cpp | 4 ++-- Device/BlockDevice.h | 4 ++-- Device/DavexDiskImage.cpp | 4 ++-- Device/DavexDiskImage.h | 2 +- Device/DiskCopy42Image.cpp | 4 ++-- Device/DiskCopy42Image.h | 2 +- Device/DiskImage.cpp | 4 ++-- Device/DiskImage.h | 2 +- Device/UniversalDiskImage.cpp | 6 +++--- Device/UniversalDiskImage.h | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Cache/BlockCache.cpp b/Cache/BlockCache.cpp index 5c07030..61462ed 100644 --- a/Cache/BlockCache.cpp +++ b/Cache/BlockCache.cpp @@ -53,7 +53,7 @@ BlockCachePointer BlockCache::Create(BlockDevicePointer device) { if (!device.get()) return BlockCachePointer(); - return device->createBlockCache(device); + return device->createBlockCache(); } diff --git a/Device/BlockDevice.cpp b/Device/BlockDevice.cpp index 3643dd2..de126c7 100644 --- a/Device/BlockDevice.cpp +++ b/Device/BlockDevice.cpp @@ -233,9 +233,9 @@ void BlockDevice::sync(TrackSector ts) } */ -BlockCachePointer BlockDevice::createBlockCache(BlockDevicePointer device) +BlockCachePointer BlockDevice::createBlockCache() { unsigned b = blocks(); unsigned size = std::max(16u, b / 16); - return BlockCachePointer(new ConcreteBlockCache(device, size)); + return BlockCachePointer(new ConcreteBlockCache(shared_from_this(), size)); } diff --git a/Device/BlockDevice.h b/Device/BlockDevice.h index 0356e3d..08eea1d 100644 --- a/Device/BlockDevice.h +++ b/Device/BlockDevice.h @@ -14,7 +14,7 @@ namespace Device { -class BlockDevice { + class BlockDevice : public std::tr1::enable_shared_from_this { public: @@ -30,7 +30,7 @@ public: virtual ~BlockDevice(); - virtual BlockCachePointer createBlockCache(BlockDevicePointer device); + virtual BlockCachePointer createBlockCache(); virtual void read(unsigned block, void *bp) = 0; diff --git a/Device/DavexDiskImage.cpp b/Device/DavexDiskImage.cpp index 65c53cc..c4392fb 100644 --- a/Device/DavexDiskImage.cpp +++ b/Device/DavexDiskImage.cpp @@ -158,9 +158,9 @@ DavexDiskImage *DavexDiskImage::Create(const char *name, size_t blocks, const ch } -BlockCachePointer DavexDiskImage::createBlockCache(BlockDevicePointer device) +BlockCachePointer DavexDiskImage::createBlockCache() { // need a smart pointer, but only have this.... - return BlockCachePointer(new MappedBlockCache(device, 512 + (uint8_t *)address())); + return BlockCachePointer(new MappedBlockCache(shared_from_this(), 512 + (uint8_t *)address())); } diff --git a/Device/DavexDiskImage.h b/Device/DavexDiskImage.h index 46dbe68..1750897 100644 --- a/Device/DavexDiskImage.h +++ b/Device/DavexDiskImage.h @@ -20,7 +20,7 @@ public: static DavexDiskImage *Create(const char *name, size_t blocks, const char *vname); static DavexDiskImage *Open(MappedFile *); - virtual BlockCachePointer createBlockCache(BlockDevicePointer device); + virtual BlockCachePointer createBlockCache(); private: diff --git a/Device/DiskCopy42Image.cpp b/Device/DiskCopy42Image.cpp index c1a072d..122017f 100644 --- a/Device/DiskCopy42Image.cpp +++ b/Device/DiskCopy42Image.cpp @@ -218,11 +218,11 @@ void DiskCopy42Image::write(unsigned block, const void *bp) } -BlockCachePointer DiskCopy42Image::createBlockCache(BlockDevicePointer device) +BlockCachePointer DiskCopy42Image::createBlockCache() { // if not readonly, mark changed so crc will be updated at close. if (!readOnly()) _changed = true; - return BlockCachePointer(new MappedBlockCache(device, address())); + return BlockCachePointer(new MappedBlockCache(shared_from_this(), address())); } \ No newline at end of file diff --git a/Device/DiskCopy42Image.h b/Device/DiskCopy42Image.h index ea70d18..f807f78 100644 --- a/Device/DiskCopy42Image.h +++ b/Device/DiskCopy42Image.h @@ -22,7 +22,7 @@ public: virtual void write(unsigned block, const void *bp); - virtual BlockCachePointer createBlockCache(BlockDevicePointer device); + virtual BlockCachePointer createBlockCache(); private: diff --git a/Device/DiskImage.cpp b/Device/DiskImage.cpp index f54a195..fe1761a 100644 --- a/Device/DiskImage.cpp +++ b/Device/DiskImage.cpp @@ -138,9 +138,9 @@ void ProDOSOrderDiskImage::Validate(MappedFile *f) } -BlockCachePointer ProDOSOrderDiskImage::createBlockCache(BlockDevicePointer device) +BlockCachePointer ProDOSOrderDiskImage::createBlockCache() { - return BlockCachePointer(new MappedBlockCache(device, address())); + return BlockCachePointer(new MappedBlockCache(shared_from_this(), address())); } #pragma mark - diff --git a/Device/DiskImage.h b/Device/DiskImage.h index 69d6db7..a560e3e 100644 --- a/Device/DiskImage.h +++ b/Device/DiskImage.h @@ -61,7 +61,7 @@ public: static ProDOSOrderDiskImage *Open(MappedFile *); - virtual BlockCachePointer createBlockCache(BlockDevicePointer device); + virtual BlockCachePointer createBlockCache(); private: ProDOSOrderDiskImage(); diff --git a/Device/UniversalDiskImage.cpp b/Device/UniversalDiskImage.cpp index 6764e04..4464e88 100644 --- a/Device/UniversalDiskImage.cpp +++ b/Device/UniversalDiskImage.cpp @@ -141,14 +141,14 @@ bool UniversalDiskImage::readOnly() } -BlockCachePointer UniversalDiskImage::createBlockCache(BlockDevicePointer device) +BlockCachePointer UniversalDiskImage::createBlockCache() { if (_format == 1) { - return BlockCachePointer(new MappedBlockCache(device, _dataOffset + (uint8_t *)address())); + return BlockCachePointer(new MappedBlockCache(shared_from_this(), _dataOffset + (uint8_t *)address())); } - return DiskImage::createBlockCache(device); + return DiskImage::createBlockCache(); } diff --git a/Device/UniversalDiskImage.h b/Device/UniversalDiskImage.h index 8a0ae7d..557e935 100644 --- a/Device/UniversalDiskImage.h +++ b/Device/UniversalDiskImage.h @@ -19,7 +19,7 @@ public: virtual bool readOnly(); - virtual BlockCachePointer createBlockCache(BlockDevicePointer device); + virtual BlockCachePointer createBlockCache(); private: