BodyPart
[Protocol Common Services]


Detailed Description

Common Bodypart APIs.


POSTAL BODYPART CLONE METHOD

Defines bodypart types clone method.

#define ALP_POSTAL_BODYPART_CLONE_ALL   ((alp_postal_bodypart_clone_method_t)3)
 clone children and brothers.
#define ALP_POSTAL_BODYPART_CLONE_CHILDREN   ((alp_postal_bodypart_clone_method_t)2)
 also clone children.
#define ALP_POSTAL_BODYPART_CLONE_ONE   ((alp_postal_bodypart_clone_method_t)1)
 just one.

POSTAL BODYPART CONTENT STATUS

Defines bodypart types content status.

#define ALP_POSTAL_BODYPART_CONTENT_STATUS_COMPLETE   ((alp_postal_bodypart_content_status_t)1)
 complete.
#define ALP_POSTAL_BODYPART_CONTENT_STATUS_QUITED   ((alp_postal_bodypart_content_status_t)2)
 incomplete caused by downloading.
#define ALP_POSTAL_BODYPART_CONTENT_STATUS_TOOBIG   ((alp_postal_bodypart_content_status_t)3)
 incomplete caused by original size. (bigger than size limit)

POSTAL BODYPART DISPOSITIONS

Defines bodypart dispositions.

#define ALP_POSTAL_BODYPART_DISPOSITION_ATTACHMENT   ((alp_postal_bodypart_disposition_t)2)
 Attachement.
#define ALP_POSTAL_BODYPART_DISPOSITION_INLINE   ((alp_postal_bodypart_disposition_t)1)
 Inline.

POSTAL BODYPART TYPES

Defines bodypart types.

#define ALP_POSTAL_BODYPART_TYPE_MULTIPART   ((alp_postal_bodypart_type_t)4)
 bodypart type is multipart.
#define ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY   ((alp_postal_bodypart_type_t)2)
 content is small binary.
#define ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT   ((alp_postal_bodypart_type_t)1)
 content is small text.
#define ALP_POSTAL_BODYPART_TYPE_URI   ((alp_postal_bodypart_type_t)3)
 content is referenced by URI property.

POSTAL BODYPART TYPES MAX SIZES

Defines bodypart types max sizes.

#define ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY_MAX_SIZE   4096
 Maximun size in bytes allowed for a Bodypart of type ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY.
#define ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT_MAX_SIZE   4096
 Maximun size in bytes allowed for a Bodypart of type ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT.

POSTAL BODYPART URI PROPERTY MAX LENGTH

Defines bodypart URI property max length.

#define ALP_POSTAL_BODYPART_URI_PROPERTY_MAX_LENGTH   512
 Maximun size in bytes allowed for a Bodypart URI property value.

POSTAL BODYPART PROPERTIES

Defines Bodypart properties.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DESCRIPTION   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 3)
 Content Description.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DISPOSITION_FILENAME   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 16)
 Bodypart content disposition filename.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DISPOSITION_FILENAME_NATIVE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 17)
 Bodypart content disposition filename native charset encoding.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_ID   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 21)
 Bodypart content id.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_LOCATION   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 22)
 Bodypart content location.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_NATIVE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 23)
 Bodypart content location native charset encoding.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_STATUS   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 24)
 Bodypart content status.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TRANSFER_ENCODING   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 20)
 Bodypart content transfer encoding.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 4)
 Content Type.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 15)
 Bodypart content type charset.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_NAME   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 18)
 Bodypart content type name.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_NAME_NATIVE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 19)
 Bodypart content type name native charset encoding.
#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_REPORT_TYPE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 25)
 Bodypart content type report type.
#define ALP_POSTAL_PROPERTY_BODYPART_DISPOSITION   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 5)
 Disposition.
#define ALP_POSTAL_PROPERTY_BODYPART_HAS_CHILD   ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_BOOLEAN, 10)
 Indicate that this bodypart is multipart : it contains others bodypart. This property MUST be set to TRUE in case of multipart bodypart. If property is not setted or FALSE, the bodypart is a single one.
#define ALP_POSTAL_PROPERTY_BODYPART_HEADER   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 8)
 Header.
#define ALP_POSTAL_PROPERTY_BODYPART_NAME   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 6)
 Name.
#define ALP_POSTAL_PROPERTY_BODYPART_ORDINAL_NO   ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 13)
 Bodypart ordinal. i.e. its position in the list.
#define ALP_POSTAL_PROPERTY_BODYPART_PARENT_NO   ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 14)
 Bodypart parent number.
#define ALP_POSTAL_PROPERTY_BODYPART_PART_NO   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 9)
 The part number value which is unique within the envelope. First part is 1.
#define ALP_POSTAL_PROPERTY_BODYPART_SIZE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 2)
 Size.
#define ALP_POSTAL_PROPERTY_BODYPART_SMALL_CONTENT   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 7)
 Small Content. Use it to store small content, otherwise use BODYPART_URI property.
#define ALP_POSTAL_PROPERTY_BODYPART_SMALL_CONTENT_BINARY   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_BINARY, 11)
 Small Binary Content. Use it to store small content, otherwise use BODYPART_URI property.
#define ALP_POSTAL_PROPERTY_BODYPART_TYPE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 12)
 Bodypart type, check this property to know where to find the content of the bodypart.
#define ALP_POSTAL_PROPERTY_BODYPART_URI   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 1)
 URI.
#define ALP_POSTAL_PROPERTY_BODYPART_URI_DESCRIPTOR   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 26)
 A directly readable descriptor, used when ALP_POSTAL_PROPERTY_BODYPART_TYPE is set to ALP_POSTAL_BODYPART_TYPE_URI, if this property doesn't exist or set to -1, the ALP_POSTAL_PROPERTY_BODYPART_URI property will be used. ALP_POSTAL_PROPERTY_BODYPART_SIZE has to be filled with the size of the data to read from the descriptor.

Defines

#define ALP_POSTAL_BODYPART_INVALID_ID   ((alp_postal_bodypart_id_t)ALP_POSTAL_INVALID_OBJECT_ID)
 Invalid Bodypart ID definition.
#define ALP_POSTAL_BODYPART_INVALID_ORDINAL_NO   ((alp_postal_bodypart_ordinal_no_t)0)
#define ALP_POSTAL_BODYPART_INVALID_PART_NO   ((alp_postal_bodypart_part_no_t)0)
#define ALP_POSTAL_BODYPART_NO_PARENT   ((alp_postal_bodypart_part_no_t)0)

Typedefs

typedef uint8_t alp_postal_bodypart_clone_method_t
 Bodypart clone method.
typedef uint8_t alp_postal_bodypart_content_status_t
 Bodypart content status.
typedef uint8_t alp_postal_bodypart_disposition_t
 Bodypart disposition type.
typedef alp_postal_object_id_t alp_postal_bodypart_id_t
 Bodypart identifier type.
typedef uint16_t alp_postal_bodypart_ordinal_no_t
typedef uint16_t alp_postal_bodypart_part_no_t
typedef uint8_t alp_postal_bodypart_type_t
 Bodypart type.
typedef _AlpPostalPropertyContainer AlpPostalBodypart
 Postal Bodypart.
typedef _AlpPostalPropertyContainer AlpPostalBodyPartContainer
 Postal Bodypart container.
typedef _AlpPostalPropertyContainerList AlpPostalBodyPartContainerList
 Postal Bodypart container list.

Functions

alp_status_t alp_postal_bodypart_add_bodypart (AlpPostalBodyPartContainerList *iContainerListP, AlpPostalBodypart *iBodypartP)
 Add a bodypart to a bodypart container list.
alp_status_t alp_postal_bodypart_add_container (AlpPostalBodyPartContainerList *iContainerListP1, AlpPostalBodyPartContainerList *iContainerListP2, AlpPostalBodypart *iCompositeBodypartP)
 Add a bodypart container list P2 to a bodypart container list P1.
alp_status_t alp_postal_bodypart_clone (const AlpPostalBodypart *iBodypart, AlpPostalBodypart *oBodypart, alp_postal_bodypart_clone_method_t iCloneMethod)
 clone a bodypart or a bodypart structure.
alp_status_t alp_postal_bodypart_free (AlpPostalBodypart *iBodypartP)
 Free the given bodypart.
alp_status_t alp_postal_bodypart_get_child (AlpPostalBodypart *iBodypart, AlpPostalBodypart **oChildBodypart)
 Get a pointer on the child bodypart.
alp_status_t alp_postal_bodypart_get_next (AlpPostalBodypart *iBodypart, AlpPostalBodypart **oNextBodypart)
 Get a pointer on the next bodypart.
alp_status_t alp_postal_bodypart_get_property (AlpPostalBodypart *iBodypartP, alp_postal_property_id_t iPropertyId, AlpPostalProperty **oBodypartPropertyP)
 Get a Bodypart property.
alp_status_t alp_postal_bodypart_init (AlpPostalBodypart *iBodypartP)
 Initialize a bodypart. MUST be called before use.
alp_status_t alp_postal_bodypart_init_container_list (AlpPostalBodyPartContainerList *iBodypartCLP)
 Initialize a bodypart container list. MUST be called before use.
alp_status_t alp_postal_bodypart_is_composite (AlpPostalBodypart *iBodypart, bool *oIsComposite)
 True if a bodypart is Composite, meaning that it has children (multipart).
alp_status_t alp_postal_bodypart_set_property (AlpPostalBodypart *ioBodypartP, alp_postal_property_id_t iBodypartPropertyId, alp_postal_property_const_value_t iBodypartPropertyDataP, uint16_t iBodypartPropertyDataSize)
 Set a property to a Postal Bodypart.


Define Documentation

#define ALP_POSTAL_BODYPART_CLONE_ALL   ((alp_postal_bodypart_clone_method_t)3)
 

clone children and brothers.

#define ALP_POSTAL_BODYPART_CLONE_CHILDREN   ((alp_postal_bodypart_clone_method_t)2)
 

also clone children.

#define ALP_POSTAL_BODYPART_CLONE_ONE   ((alp_postal_bodypart_clone_method_t)1)
 

just one.

#define ALP_POSTAL_BODYPART_CONTENT_STATUS_COMPLETE   ((alp_postal_bodypart_content_status_t)1)
 

complete.

#define ALP_POSTAL_BODYPART_CONTENT_STATUS_QUITED   ((alp_postal_bodypart_content_status_t)2)
 

incomplete caused by downloading.

#define ALP_POSTAL_BODYPART_CONTENT_STATUS_TOOBIG   ((alp_postal_bodypart_content_status_t)3)
 

incomplete caused by original size. (bigger than size limit)

#define ALP_POSTAL_BODYPART_DISPOSITION_ATTACHMENT   ((alp_postal_bodypart_disposition_t)2)
 

Attachement.

#define ALP_POSTAL_BODYPART_DISPOSITION_INLINE   ((alp_postal_bodypart_disposition_t)1)
 

Inline.

#define ALP_POSTAL_BODYPART_INVALID_ID   ((alp_postal_bodypart_id_t)ALP_POSTAL_INVALID_OBJECT_ID)
 

Invalid Bodypart ID definition.

#define ALP_POSTAL_BODYPART_INVALID_ORDINAL_NO   ((alp_postal_bodypart_ordinal_no_t)0)
 

#define ALP_POSTAL_BODYPART_INVALID_PART_NO   ((alp_postal_bodypart_part_no_t)0)
 

#define ALP_POSTAL_BODYPART_NO_PARENT   ((alp_postal_bodypart_part_no_t)0)
 

#define ALP_POSTAL_BODYPART_TYPE_MULTIPART   ((alp_postal_bodypart_type_t)4)
 

bodypart type is multipart.

#define ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY   ((alp_postal_bodypart_type_t)2)
 

content is small binary.

#define ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY_MAX_SIZE   4096
 

Maximun size in bytes allowed for a Bodypart of type ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY.

#define ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT   ((alp_postal_bodypart_type_t)1)
 

content is small text.

#define ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT_MAX_SIZE   4096
 

Maximun size in bytes allowed for a Bodypart of type ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT.

#define ALP_POSTAL_BODYPART_TYPE_URI   ((alp_postal_bodypart_type_t)3)
 

content is referenced by URI property.

#define ALP_POSTAL_BODYPART_URI_PROPERTY_MAX_LENGTH   512
 

Maximun size in bytes allowed for a Bodypart URI property value.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DESCRIPTION   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 3)
 

Content Description.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DISPOSITION_FILENAME   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 16)
 

Bodypart content disposition filename.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DISPOSITION_FILENAME_NATIVE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 17)
 

Bodypart content disposition filename native charset encoding.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_ID   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 21)
 

Bodypart content id.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_LOCATION   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 22)
 

Bodypart content location.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_NATIVE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 23)
 

Bodypart content location native charset encoding.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_STATUS   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 24)
 

Bodypart content status.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TRANSFER_ENCODING   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 20)
 

Bodypart content transfer encoding.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 4)
 

Content Type.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 15)
 

Bodypart content type charset.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_NAME   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 18)
 

Bodypart content type name.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_NAME_NATIVE_CHARSET   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 19)
 

Bodypart content type name native charset encoding.

#define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_REPORT_TYPE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 25)
 

Bodypart content type report type.

#define ALP_POSTAL_PROPERTY_BODYPART_DISPOSITION   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 5)
 

Disposition.

#define ALP_POSTAL_PROPERTY_BODYPART_HAS_CHILD   ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_BOOLEAN, 10)
 

Indicate that this bodypart is multipart : it contains others bodypart. This property MUST be set to TRUE in case of multipart bodypart. If property is not setted or FALSE, the bodypart is a single one.

#define ALP_POSTAL_PROPERTY_BODYPART_HEADER   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 8)
 

Header.

#define ALP_POSTAL_PROPERTY_BODYPART_NAME   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 6)
 

Name.

#define ALP_POSTAL_PROPERTY_BODYPART_ORDINAL_NO   ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 13)
 

Bodypart ordinal. i.e. its position in the list.

#define ALP_POSTAL_PROPERTY_BODYPART_PARENT_NO   ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 14)
 

Bodypart parent number.

#define ALP_POSTAL_PROPERTY_BODYPART_PART_NO   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 9)
 

The part number value which is unique within the envelope. First part is 1.

#define ALP_POSTAL_PROPERTY_BODYPART_SIZE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 2)
 

Size.

#define ALP_POSTAL_PROPERTY_BODYPART_SMALL_CONTENT   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 7)
 

Small Content. Use it to store small content, otherwise use BODYPART_URI property.

#define ALP_POSTAL_PROPERTY_BODYPART_SMALL_CONTENT_BINARY   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_BINARY, 11)
 

Small Binary Content. Use it to store small content, otherwise use BODYPART_URI property.

#define ALP_POSTAL_PROPERTY_BODYPART_TYPE   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 12)
 

Bodypart type, check this property to know where to find the content of the bodypart.

#define ALP_POSTAL_PROPERTY_BODYPART_URI   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 1)
 

URI.

#define ALP_POSTAL_PROPERTY_BODYPART_URI_DESCRIPTOR   ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 26)
 

A directly readable descriptor, used when ALP_POSTAL_PROPERTY_BODYPART_TYPE is set to ALP_POSTAL_BODYPART_TYPE_URI, if this property doesn't exist or set to -1, the ALP_POSTAL_PROPERTY_BODYPART_URI property will be used. ALP_POSTAL_PROPERTY_BODYPART_SIZE has to be filled with the size of the data to read from the descriptor.


Typedef Documentation

typedef uint8_t alp_postal_bodypart_clone_method_t
 

Bodypart clone method.

typedef uint8_t alp_postal_bodypart_content_status_t
 

Bodypart content status.

typedef uint8_t alp_postal_bodypart_disposition_t
 

Bodypart disposition type.

typedef alp_postal_object_id_t alp_postal_bodypart_id_t
 

Bodypart identifier type.

typedef uint16_t alp_postal_bodypart_ordinal_no_t
 

typedef uint16_t alp_postal_bodypart_part_no_t
 

typedef uint8_t alp_postal_bodypart_type_t
 

Bodypart type.

typedef struct _AlpPostalPropertyContainer AlpPostalBodypart
 

Postal Bodypart.

typedef struct _AlpPostalPropertyContainer AlpPostalBodyPartContainer
 

Postal Bodypart container.

typedef struct _AlpPostalPropertyContainerList AlpPostalBodyPartContainerList
 

Postal Bodypart container list.


Function Documentation

alp_status_t alp_postal_bodypart_add_bodypart AlpPostalBodyPartContainerList iContainerListP,
AlpPostalBodypart iBodypartP
 

Add a bodypart to a bodypart container list.

Parameters:
[in] iContainerListP a bodypart container list Ptr.
[in] iBodypartP a bodypart Ptr.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_add_container AlpPostalBodyPartContainerList iContainerListP1,
AlpPostalBodyPartContainerList iContainerListP2,
AlpPostalBodypart iCompositeBodypartP
 

Add a bodypart container list P2 to a bodypart container list P1.

Parameters:
[in] iContainerListP1 a bodypart container list Ptr.
[in] iContainerListP2 a bodypart container list Ptr.
[in] iCompositeBodypartP a bodypart that gather the properties of iContainerListP2.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_clone const AlpPostalBodypart iBodypart,
AlpPostalBodypart oBodypart,
alp_postal_bodypart_clone_method_t  iCloneMethod
 

clone a bodypart or a bodypart structure.

Parameters:
[in] iBodypart the src bodypart to clone
[in] oBodypart the bodypart that will be the clone.
[in] iCloneMethod define the way the bodypart will be cloned.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_free AlpPostalBodypart iBodypartP  ) 
 

Free the given bodypart.

Parameters:
[in] iBodypartP A bodypart Ptr.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_get_child AlpPostalBodypart iBodypart,
AlpPostalBodypart **  oChildBodypart
 

Get a pointer on the child bodypart.

Parameters:
[in] iBodypart A bodypart Ptr.
[out] oChildBodypart A bodypart Ptr. MUST NOT be freed.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_get_next AlpPostalBodypart iBodypart,
AlpPostalBodypart **  oNextBodypart
 

Get a pointer on the next bodypart.

Parameters:
[in] iBodypart A bodypart Ptr.
[out] oNextBodypart A bodypart Ptr. MUST NOT be freed.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_get_property AlpPostalBodypart iBodypartP,
alp_postal_property_id_t  iPropertyId,
AlpPostalProperty **  oBodypartPropertyP
 

Get a Bodypart property.

Parameters:
[in] iBodypartP a bodypart Ptr.
[in] iPropertyId an bodypart property Id.
[out] oBodypartPropertyP a retrieved bodypart property Ptr.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_init AlpPostalBodypart iBodypartP  ) 
 

Initialize a bodypart. MUST be called before use.

Parameters:
[in] iBodypartP The Bodypart to be be initialized.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_init_container_list AlpPostalBodyPartContainerList iBodypartCLP  ) 
 

Initialize a bodypart container list. MUST be called before use.

Parameters:
[in] iBodypartCLP The Bodypart container list to be be initialized.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_is_composite AlpPostalBodypart iBodypart,
bool *  oIsComposite
 

True if a bodypart is Composite, meaning that it has children (multipart).

Parameters:
[in] iBodypart A bodypart Ptr.
[out] oIsComposite true or false.
Returns:
Returns an error code.

alp_status_t alp_postal_bodypart_set_property AlpPostalBodypart ioBodypartP,
alp_postal_property_id_t  iBodypartPropertyId,
alp_postal_property_const_value_t  iBodypartPropertyDataP,
uint16_t  iBodypartPropertyDataSize
 

Set a property to a Postal Bodypart.

Parameters:
[in,out] ioBodypartP The Postal Bodypart in which a property must be set.
[in] iBodypartPropertyId The Id of the property to be created.
[in] iBodypartPropertyDataP The value of the property to be created.
[in] iBodypartPropertyDataSize the size of the data, strlen+1 if it's a string
Returns:
Returns an error code.


Generated on Wed Jul 30 07:06:43 2008 by Doxygen 1.4.6 for ALP SDK + Hiker Documentation

Copyright © 1999-2008 ACCESS CO., LTD. All rights reserved.