19 package org.sleuthkit.datamodel;
21 import java.util.ArrayList;
22 import java.util.List;
30 private volatile long volumeSystemHandle = 0;
31 private long type, imgOffset, blockSize;
44 super(db, obj_id, name);
46 this.imgOffset = imgOffset;
47 this.blockSize = blockSize;
53 if (volumeSystemHandle == 0) {
101 if (volumeSystemHandle == 0) {
103 if ((dataSource != null) && (dataSource instanceof
Image)) {
104 Image image = (Image) dataSource;
107 throw new TskCoreException(
"Volume System data source is not an image");
111 return volumeSystemHandle;
116 if (volumeSystemHandle != 0) {
117 synchronized (
this) {
118 if (volumeSystemHandle != 0) {
120 volumeSystemHandle = 0;
137 return v.
visit(
this);
141 public <T> T accept(ContentVisitor<T> v) {
142 return v.visit(
this);
161 List<Volume> volumes =
new ArrayList<Volume>();
163 if (child instanceof
Volume) {
164 volumes.add((Volume) child);
172 return super.toString(preserveState) +
"VolumeSystem [\t" +
"blockSize " + blockSize +
"\t" +
"imgOffset " + imgOffset +
"\t" +
"type " + type +
"]\t";
static int readVs(long vsHandle, byte[] readBuffer, long offset, long len)
List< Volume > getVolumes()
VolumeSystem(SleuthkitCase db, long obj_id, String name, long type, long imgOffset, long blockSize)
synchronized long getVolumeSystemHandle()
static long openVs(long imgHandle, long vsOffset)
static void closeVs(long vsHandle)
List< Long > getChildrenIds()
List< Content > getChildren()
SleuthkitCase getSleuthkitCase()
int read(byte[] readBuffer, long offset, long len)
String toString(boolean preserveState)
static TSK_VS_TYPE_ENUM valueOf(long vsType)
TSK_VS_TYPE_ENUM getType()
synchronized long getImageHandle()