include/alp/postal_bodypart.h File Reference


Detailed Description

Bodypart management APIs.

#include <alp/postal_types.h>
#include <alp/postal_property.h>

Go to the source code of this file.

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.


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

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