Added substructure enumerators to sa_payload, proposal_substructure
This commit is contained in:
@@ -342,6 +342,12 @@ METHOD(proposal_substructure_t, get_proposal, proposal_t*,
|
|||||||
return proposal;
|
return proposal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
METHOD(proposal_substructure_t, create_substructure_enumerator, enumerator_t*,
|
||||||
|
private_proposal_substructure_t *this)
|
||||||
|
{
|
||||||
|
return this->transforms->create_enumerator(this->transforms);
|
||||||
|
}
|
||||||
|
|
||||||
METHOD2(payload_t, proposal_substructure_t, destroy, void,
|
METHOD2(payload_t, proposal_substructure_t, destroy, void,
|
||||||
private_proposal_substructure_t *this)
|
private_proposal_substructure_t *this)
|
||||||
{
|
{
|
||||||
@@ -375,6 +381,7 @@ proposal_substructure_t *proposal_substructure_create()
|
|||||||
.get_protocol_id = _get_protocol_id,
|
.get_protocol_id = _get_protocol_id,
|
||||||
.set_is_last_proposal = _set_is_last_proposal,
|
.set_is_last_proposal = _set_is_last_proposal,
|
||||||
.get_proposal = _get_proposal,
|
.get_proposal = _get_proposal,
|
||||||
|
.create_substructure_enumerator = _create_substructure_enumerator,
|
||||||
.set_spi = _set_spi,
|
.set_spi = _set_spi,
|
||||||
.get_spi = _get_spi,
|
.get_spi = _get_spi,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
|
|||||||
@@ -110,6 +110,13 @@ struct proposal_substructure_t {
|
|||||||
*/
|
*/
|
||||||
proposal_t * (*get_proposal) (proposal_substructure_t *this);
|
proposal_t * (*get_proposal) (proposal_substructure_t *this);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an enumerator over transform substructures.
|
||||||
|
*
|
||||||
|
* @return enumerator over transform_substructure_t
|
||||||
|
*/
|
||||||
|
enumerator_t* (*create_substructure_enumerator)(proposal_substructure_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys an proposal_substructure_t object.
|
* Destroys an proposal_substructure_t object.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -262,6 +262,12 @@ METHOD(sa_payload_t, get_proposals, linked_list_t*,
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
METHOD(sa_payload_t, create_substructure_enumerator, enumerator_t*,
|
||||||
|
private_sa_payload_t *this)
|
||||||
|
{
|
||||||
|
return this->proposals->create_enumerator(this->proposals);
|
||||||
|
}
|
||||||
|
|
||||||
METHOD2(payload_t, sa_payload_t, destroy, void,
|
METHOD2(payload_t, sa_payload_t, destroy, void,
|
||||||
private_sa_payload_t *this)
|
private_sa_payload_t *this)
|
||||||
{
|
{
|
||||||
@@ -290,6 +296,7 @@ sa_payload_t *sa_payload_create()
|
|||||||
},
|
},
|
||||||
.add_proposal = _add_proposal,
|
.add_proposal = _add_proposal,
|
||||||
.get_proposals = _get_proposals,
|
.get_proposals = _get_proposals,
|
||||||
|
.create_substructure_enumerator = _create_substructure_enumerator,
|
||||||
.destroy = _destroy,
|
.destroy = _destroy,
|
||||||
},
|
},
|
||||||
.next_payload = NO_PAYLOAD,
|
.next_payload = NO_PAYLOAD,
|
||||||
|
|||||||
@@ -60,6 +60,13 @@ struct sa_payload_t {
|
|||||||
*/
|
*/
|
||||||
void (*add_proposal) (sa_payload_t *this, proposal_t *proposal);
|
void (*add_proposal) (sa_payload_t *this, proposal_t *proposal);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create an enumerator over all proposal substructures.
|
||||||
|
*
|
||||||
|
* @return enumerator over proposal_substructure_t
|
||||||
|
*/
|
||||||
|
enumerator_t* (*create_substructure_enumerator)(sa_payload_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Destroys an sa_payload_t object.
|
* Destroys an sa_payload_t object.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user