17 bool IsBlob(PvlObject &obj);
53 Blob(
const QString &name,
const QString &type);
54 Blob(
const QString &name,
const QString &type,
67 void Read(
const QString &file,
const std::vector<PvlKeyword>
68 keywords=std::vector<PvlKeyword>());
69 void Read(
const QString &file,
const Pvl &pvlLabels,
70 const std::vector<PvlKeyword> keywords = std::vector<PvlKeyword>());
71 virtual void Read(
const Pvl &pvl, std::istream &is,
72 const std::vector<PvlKeyword> keywords = std::vector<PvlKeyword>());
74 void Write(
const QString &file);
75 void Write(
Pvl &pvl, std::fstream &stm,
76 const QString &detachedFileName =
"",
bool overwrite=
true);
80 void setData(
const char *buffer,
int nbytes);
81 void takeData(
char *buffer,
int nbytes);
84 void Find(
const Pvl &pvl,
const std::vector<PvlKeyword> keywords = std::vector<PvlKeyword>());
86 virtual void ReadData(std::istream &is);
PvlObject p_blobPvl
Pvl Blob object.
int Size() const
Accessor method that returns the number of bytes in the blob data.
void setData(const char *buffer, int nbytes)
Set the data stored in the BLOB.
void Read(const QString &file, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >())
This method reads Pvl values from a specified file.
QString p_labelFile
The file containing the labels.
void Write(const QString &file)
Write the blob data out to a file.
QString Type() const
Accessor method that returns a string containing the Blob type.
void Find(const Pvl &pvl, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >())
This method searches the given Pvl for the Blob by the Blob's type and name.
BigInt p_startByte
Byte blob data starts at in buffer.
virtual void WriteInit()
This virtual method for classes that inherit Blob.
virtual void ReadInit()
This virtual method for classes that inherit Blob.
QString Name() const
Accessor method that returns a string containing the Blob name.
char * getBuffer()
Get the internal data buff of the Blob.
virtual void WriteData(std::fstream &os)
Writes blob data to a stream.
PvlObject & Label()
Accessor method that returns a PvlObject containing the Blob label.
QString p_type
Type of data stored in the buffer.
QString p_detached
Used for reading detached blobs.
int p_nbytes
Size of blob data (in bytes)
void takeData(char *buffer, int nbytes)
Set the data stored in the BLOB without copying it.
Blob & operator=(const Blob &other)
This makes the two blob objects exactly the same (copies the blob)
virtual ~Blob()
Destroys the Blob object.
char * p_buffer
Buffer blob data is stored in.
virtual void ReadData(std::istream &is)
Read binary data from an input stream into the Blob object.
QString p_blobName
Name of the Blob object.
Container for cube-like labels.
Contains Pvl Groups and Pvl Objects.
This is free and unencumbered software released into the public domain.
bool IsBlob(PvlObject &obj)
Checks pvl object and returns whether or not it is a Blob.
long long int BigInt
Big int.