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,
private_proposal_substructure_t *this)
{
.get_protocol_id = _get_protocol_id,
.set_is_last_proposal = _set_is_last_proposal,
.get_proposal = _get_proposal,
+ .create_substructure_enumerator = _create_substructure_enumerator,
.set_spi = _set_spi,
.get_spi = _get_spi,
.destroy = _destroy,
*/
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.
*/
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,
private_sa_payload_t *this)
{
},
.add_proposal = _add_proposal,
.get_proposals = _get_proposals,
+ .create_substructure_enumerator = _create_substructure_enumerator,
.destroy = _destroy,
},
.next_payload = NO_PAYLOAD,
*/
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.
*/