00001 #ifndef XBYTEARRAY_H
00002 #define XBYTEARRAY_H
00003
00006 #include <QtCore>
00007
00017 class XByteArray
00018 {
00019 public:
00020 explicit XByteArray();
00021
00022 int addressOffset();
00023 void setAddressOffset(int offset);
00024
00025 int addressWidth();
00026 void setAddressWidth(int width);
00027
00028 QByteArray & data();
00029 void setData(QByteArray data);
00030
00031 bool dataChanged(int i);
00032 QByteArray dataChanged(int i, int len);
00033 void setDataChanged(int i, bool state);
00034 void setDataChanged(int i, const QByteArray & state);
00035
00036 int realAddressNumbers();
00037 int size();
00038
00039 QByteArray & insert(int i, char ch);
00040 QByteArray & insert(int i, const QByteArray & ba);
00041
00042 QByteArray & remove(int pos, int len);
00043
00044 QByteArray & replace(int index, char ch);
00045 QByteArray & replace(int index, const QByteArray & ba);
00046 QByteArray & replace(int index, int length, const QByteArray & ba);
00047
00048 QChar asciiChar(int index);
00049 QString toRedableString(int start=0, int end=-1);
00050
00051 signals:
00052
00053 public slots:
00054
00055 private:
00056 QByteArray _data;
00057 QByteArray _changedData;
00058
00059 int _addressNumbers;
00060 int _addressOffset;
00061 int _realAddressNumbers;
00062 int _oldSize;
00063 };
00064
00066 #endif // XBYTEARRAY_H