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.
Definition Blob.h:90
int Size() const
Accessor method that returns the number of bytes in the blob data.
Definition Blob.cpp:142
void setData(const char *buffer, int nbytes)
Set the data stored in the BLOB.
Definition Blob.cpp:382
void Read(const QString &file, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >())
This method reads Pvl values from a specified file.
Definition Blob.cpp:255
QString p_labelFile
The file containing the labels.
Definition Blob.h:98
void Write(const QString &file)
Write the blob data out to a file.
Definition Blob.cpp:417
QString Type() const
Accessor method that returns a string containing the Blob type.
Definition Blob.cpp:124
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.
Definition Blob.cpp:167
BigInt p_startByte
Byte blob data starts at in buffer.
Definition Blob.h:94
virtual void WriteInit()
This virtual method for classes that inherit Blob.
Definition Blob.cpp:554
virtual void ReadInit()
This virtual method for classes that inherit Blob.
Definition Blob.cpp:341
QString Name() const
Accessor method that returns a string containing the Blob name.
Definition Blob.cpp:133
char * getBuffer()
Get the internal data buff of the Blob.
Definition Blob.cpp:546
virtual void WriteData(std::fstream &os)
Writes blob data to a stream.
Definition Blob.cpp:564
PvlObject & Label()
Accessor method that returns a PvlObject containing the Blob label.
Definition Blob.cpp:151
QString p_type
Type of data stored in the buffer.
Definition Blob.h:96
QString p_detached
Used for reading detached blobs.
Definition Blob.h:97
int p_nbytes
Size of blob data (in bytes)
Definition Blob.h:95
void takeData(char *buffer, int nbytes)
Set the data stored in the BLOB without copying it.
Definition Blob.cpp:398
Blob & operator=(const Blob &other)
This makes the two blob objects exactly the same (copies the blob)
Definition Blob.cpp:92
virtual ~Blob()
Destroys the Blob object.
Definition Blob.cpp:115
char * p_buffer
Buffer blob data is stored in.
Definition Blob.h:93
virtual void ReadData(std::istream &is)
Read binary data from an input stream into the Blob object.
Definition Blob.cpp:351
QString p_blobName
Name of the Blob object.
Definition Blob.h:91
Container for cube-like labels.
Definition Pvl.h:119
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
bool IsBlob(PvlObject &obj)
Checks pvl object and returns whether or not it is a Blob.
Definition Blob.cpp:580
long long int BigInt
Big int.
Definition Constants.h:49