Add getters for the raw encoding in IMV/IMC messages
This commit is contained in:
@@ -347,6 +347,16 @@ METHOD(imc_msg_t, create_attribute_enumerator, enumerator_t*,
|
|||||||
return this->pa_msg->create_attribute_enumerator(this->pa_msg);
|
return this->pa_msg->create_attribute_enumerator(this->pa_msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
METHOD(imc_msg_t, get_encoding, chunk_t,
|
||||||
|
private_imc_msg_t *this)
|
||||||
|
{
|
||||||
|
if (this->pa_msg)
|
||||||
|
{
|
||||||
|
return this->pa_msg->get_encoding(this->pa_msg);
|
||||||
|
}
|
||||||
|
return chunk_empty;
|
||||||
|
}
|
||||||
|
|
||||||
METHOD(imc_msg_t, destroy, void,
|
METHOD(imc_msg_t, destroy, void,
|
||||||
private_imc_msg_t *this)
|
private_imc_msg_t *this)
|
||||||
{
|
{
|
||||||
@@ -374,6 +384,7 @@ imc_msg_t *imc_msg_create(imc_agent_t *agent, imc_state_t *state,
|
|||||||
.receive = _receive,
|
.receive = _receive,
|
||||||
.add_attribute = _add_attribute,
|
.add_attribute = _add_attribute,
|
||||||
.create_attribute_enumerator = _create_attribute_enumerator,
|
.create_attribute_enumerator = _create_attribute_enumerator,
|
||||||
|
.get_encoding = _get_encoding,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.connection_id = connection_id,
|
.connection_id = connection_id,
|
||||||
@@ -444,6 +455,7 @@ imc_msg_t *imc_msg_create_from_long_data(imc_agent_t *agent, imc_state_t *state,
|
|||||||
.receive = _receive,
|
.receive = _receive,
|
||||||
.add_attribute = _add_attribute,
|
.add_attribute = _add_attribute,
|
||||||
.create_attribute_enumerator = _create_attribute_enumerator,
|
.create_attribute_enumerator = _create_attribute_enumerator,
|
||||||
|
.get_encoding = _get_encoding,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.connection_id = connection_id,
|
.connection_id = connection_id,
|
||||||
|
|||||||
@@ -77,6 +77,13 @@ struct imc_msg_t {
|
|||||||
*/
|
*/
|
||||||
enumerator_t* (*create_attribute_enumerator)(imc_msg_t *this);
|
enumerator_t* (*create_attribute_enumerator)(imc_msg_t *this);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the encoding of the IMC message.
|
||||||
|
*
|
||||||
|
* @return message encoding, internal data
|
||||||
|
*/
|
||||||
|
chunk_t (*get_encoding)(imc_msg_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys a imc_msg_t object.
|
* Destroys a imc_msg_t object.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -323,6 +323,16 @@ METHOD(imv_msg_t, create_attribute_enumerator, enumerator_t*,
|
|||||||
return this->pa_msg->create_attribute_enumerator(this->pa_msg);
|
return this->pa_msg->create_attribute_enumerator(this->pa_msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
METHOD(imv_msg_t, get_encoding, chunk_t,
|
||||||
|
private_imv_msg_t *this)
|
||||||
|
{
|
||||||
|
if (this->pa_msg)
|
||||||
|
{
|
||||||
|
return this->pa_msg->get_encoding(this->pa_msg);
|
||||||
|
}
|
||||||
|
return chunk_empty;
|
||||||
|
}
|
||||||
|
|
||||||
METHOD(imv_msg_t, destroy, void,
|
METHOD(imv_msg_t, destroy, void,
|
||||||
private_imv_msg_t *this)
|
private_imv_msg_t *this)
|
||||||
{
|
{
|
||||||
@@ -353,6 +363,7 @@ imv_msg_t *imv_msg_create(imv_agent_t *agent, imv_state_t *state,
|
|||||||
.add_attribute = _add_attribute,
|
.add_attribute = _add_attribute,
|
||||||
.delete_attributes = _delete_attributes,
|
.delete_attributes = _delete_attributes,
|
||||||
.create_attribute_enumerator = _create_attribute_enumerator,
|
.create_attribute_enumerator = _create_attribute_enumerator,
|
||||||
|
.get_encoding = _get_encoding,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.connection_id = connection_id,
|
.connection_id = connection_id,
|
||||||
@@ -426,6 +437,7 @@ imv_msg_t *imv_msg_create_from_long_data(imv_agent_t *agent, imv_state_t *state,
|
|||||||
.add_attribute = _add_attribute,
|
.add_attribute = _add_attribute,
|
||||||
.delete_attributes = _delete_attributes,
|
.delete_attributes = _delete_attributes,
|
||||||
.create_attribute_enumerator = _create_attribute_enumerator,
|
.create_attribute_enumerator = _create_attribute_enumerator,
|
||||||
|
.get_encoding = _get_encoding,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.connection_id = connection_id,
|
.connection_id = connection_id,
|
||||||
|
|||||||
@@ -97,6 +97,13 @@ struct imv_msg_t {
|
|||||||
*/
|
*/
|
||||||
enumerator_t* (*create_attribute_enumerator)(imv_msg_t *this);
|
enumerator_t* (*create_attribute_enumerator)(imv_msg_t *this);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the full encoding of an IMV message.
|
||||||
|
*
|
||||||
|
* @return message encoding, internal data
|
||||||
|
*/
|
||||||
|
chunk_t (*get_encoding)(imv_msg_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys a imv_msg_t object.
|
* Destroys a imv_msg_t object.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user