FaxParams::FaxParams(u_char* pBits, int length)
{
- initializeBitString();
- copyBytes(pBits, length);
+ setupT30(pBits, length);
+}
+
+FaxParams::~FaxParams (void)
+{
}
/*
*/
FaxParams::FaxParams(u_int disDcs, u_int xinfo)
{
- initializeBitString();
- m_bits[0] = (disDcs&0xFF0000) >> 16;
- m_bits[1] = (disDcs&0x00FF00) >> 8;
- m_bits[2] = (disDcs&0x0000FF) >> 0;
-
- m_bits[3] = (xinfo&0xFF000000) >> 24;
- m_bits[4] = (xinfo&0x00FF0000) >> 16;
- m_bits[5] = (xinfo&0x0000FF00) >> 8;
- m_bits[6] = (xinfo&0x000000FF) >> 0;
+ setupT30(disDcs, xinfo);
}
/*
if (modemParams.ec & BIT(EC_ENABLE64) && !(modemParams.ec & BIT(EC_ENABLE256))) setBit(BITNUM_FRAMESIZE, true);
}
+/*
+ * Set all bits to zero. According to Table 2 T.30 NOTE 1, reserved
+ * bits should also be set to zero.
+ */
+void FaxParams::initializeBitString()
+{
+ for (int i = 0; i < MAX_BITSTRING_BYTES; i++) m_bits[i] = 0;
+}
-void FaxParams::copyBytes(u_char* pBits, int length)
+void FaxParams::setupT30(u_char* pBits, int length)
{
+ initializeBitString();
bool lastbyte = false;
for (int byte = 0; byte < MAX_BITSTRING_BYTES && byte < length; byte++) {
m_bits[MAX_BITSTRING_BYTES-1] = m_bits[MAX_BITSTRING_BYTES-1] & 0xFE;
}
-/*
- * Set all bits to zero. According to Table 2 T.30 NOTE 1, reserved
- * bits should also be set to zero.
- */
-void FaxParams::initializeBitString()
+void FaxParams::setupT30 (u_int disDcs, u_int xinfo)
{
- for (int i = 0; i < MAX_BITSTRING_BYTES; i++) m_bits[i] = 0;
+ initializeBitString();
+ m_bits[0] = (disDcs&0xFF0000) >> 16;
+ m_bits[1] = (disDcs&0x00FF00) >> 8;
+ m_bits[2] = (disDcs&0x0000FF) >> 0;
+
+ m_bits[3] = (xinfo&0xFF000000) >> 24;
+ m_bits[4] = (xinfo&0x00FF0000) >> 16;
+ m_bits[5] = (xinfo&0x0000FF00) >> 8;
+ m_bits[6] = (xinfo&0x000000FF) >> 0;
}
+
/*
* Table 2 T.30 defines bit numbers 1 ... 127.
* Anything else is invalid and should not be used.
return *this;
}
+
+void FaxParams::update (void)
+{
+}
FaxParams(u_char* pBits, int length);
FaxParams(Class2Params modemParams);
+ virtual ~FaxParams (void);
+
+ virtual void update (void);
+
void setBit(int bitNum, bool val);
bool isBitEnabled(int bitNum);
FaxParams& operator=(const FaxParams& operand);
protected:
+ void setupT30(u_char* pBits, int length);
+ void setupT30(u_int dcs_dis, u_int xinfo);
+
static const int BITNUM_V8_CAPABLE; //06
static const int BITNUM_FRAMESIZE; //07
static const int BITNUM_T4XMTR; //09
private:
void initializeBitString();
- void copyBytes(u_char* pBits, int length);
int calculateByteNumber(int bitNum);
u_char calculateMask(int bitNum);
void setExtendBits(int byteNum);