include/alp/postal_bodypart.h

Go to the documentation of this file.
00001 /******************************************************************************
00002  * Copyright (c) 1999-2008 ACCESS CO., LTD. All rights reserved.
00003  * Copyright (c) 2006 PalmSource, Inc (an ACCESS company). All rights reserved.
00004  *****************************************************************************/
00019 #ifndef ALP_POSTAL_BODYPART_H
00020 #define ALP_POSTAL_BODYPART_H
00021 
00022 /******************************************************************************
00023  * Includes
00024  *****************************************************************************/
00025 
00026 #include <alp/postal_types.h>
00027 #include <alp/postal_property.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif /* __cplusplus */
00032 
00033 /******************************************************************************
00034  * Structure
00035  *****************************************************************************/
00036 
00038 typedef struct _AlpPostalPropertyContainer AlpPostalBodypart;
00039 
00041 typedef struct _AlpPostalPropertyContainer AlpPostalBodyPartContainer;
00042 
00044 typedef struct _AlpPostalPropertyContainerList AlpPostalBodyPartContainerList;
00045 
00046 /******************************************************************************
00047  * Type definition
00048  *****************************************************************************/
00049 
00051 typedef alp_postal_object_id_t alp_postal_bodypart_id_t;
00052 
00054 #define ALP_POSTAL_BODYPART_INVALID_ID                  ((alp_postal_bodypart_id_t)ALP_POSTAL_INVALID_OBJECT_ID)
00055 
00056 #define ALP_POSTAL_BODYPART_NO_PARENT                   ((alp_postal_bodypart_part_no_t)0)
00057 
00058 #define ALP_POSTAL_BODYPART_INVALID_PART_NO             ((alp_postal_bodypart_part_no_t)0)
00059 #define ALP_POSTAL_BODYPART_INVALID_ORDINAL_NO  ((alp_postal_bodypart_ordinal_no_t)0)
00060 
00061 typedef uint16_t alp_postal_bodypart_part_no_t;
00062 typedef uint16_t alp_postal_bodypart_ordinal_no_t;
00063 
00069 #define ALP_POSTAL_PROPERTY_BODYPART_URI \
00070                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 1)
00071 
00072 #define ALP_POSTAL_PROPERTY_BODYPART_SIZE \
00073                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 2)
00074 
00075 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DESCRIPTION \
00076                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 3)
00077 
00078 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE \
00079                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 4)
00080 
00081 #define ALP_POSTAL_PROPERTY_BODYPART_DISPOSITION \
00082                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 5)
00083 
00084 #define ALP_POSTAL_PROPERTY_BODYPART_NAME \
00085                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 6)
00086 
00087 #define ALP_POSTAL_PROPERTY_BODYPART_SMALL_CONTENT \
00088                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 7)
00089 
00090 #define ALP_POSTAL_PROPERTY_BODYPART_HEADER     \
00091                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 8)
00092 
00093 #define ALP_POSTAL_PROPERTY_BODYPART_PART_NO \
00094                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 9)
00095 
00096 #define ALP_POSTAL_PROPERTY_BODYPART_HAS_CHILD \
00097                                 ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_BOOLEAN, 10)
00098 
00099 #define ALP_POSTAL_PROPERTY_BODYPART_SMALL_CONTENT_BINARY \
00100                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_BINARY, 11)
00101 
00102 #define ALP_POSTAL_PROPERTY_BODYPART_TYPE \
00103                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 12)
00104 
00105 #define ALP_POSTAL_PROPERTY_BODYPART_ORDINAL_NO \
00106                                 ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 13)
00107 
00108 #define ALP_POSTAL_PROPERTY_BODYPART_PARENT_NO \
00109                                 ALP_POSTAL_PROPERTY_READ_ONLY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 14)
00110 
00111 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_CHARSET \
00112                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 15)
00113 
00114 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DISPOSITION_FILENAME \
00115                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 16)
00116 
00117 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_DISPOSITION_FILENAME_NATIVE_CHARSET \
00118                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 17)
00119 
00120 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_NAME \
00121                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 18)
00122 
00123 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_NAME_NATIVE_CHARSET \
00124                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 19)
00125 
00126 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TRANSFER_ENCODING \
00127                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 20)
00128 
00129 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_ID \
00130                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 21)
00131 
00132 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_LOCATION \
00133                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 22)
00134 
00135 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_NATIVE_CHARSET \
00136                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 23)
00137 
00138 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_STATUS \
00139                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 24)
00140 
00141 #define ALP_POSTAL_PROPERTY_BODYPART_CONTENT_TYPE_REPORT_TYPE \
00142                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_C_STRING, 25)
00143 
00144 #define ALP_POSTAL_PROPERTY_BODYPART_URI_DESCRIPTOR \
00145                                 ALP_POSTAL_PROPERTY(ALP_POSTAL_SERVICE_ID_COMMON, ALP_POSTAL_SERVICE_CLASS_ID_BODYPART, ALP_POSTAL_PROPERTY_TYPE_INT, 26)
00146 /* @} */
00147 
00148 
00150 typedef uint8_t  alp_postal_bodypart_disposition_t;
00151 
00157 #define ALP_POSTAL_BODYPART_DISPOSITION_INLINE                          ((alp_postal_bodypart_disposition_t)1)
00158 
00159 #define ALP_POSTAL_BODYPART_DISPOSITION_ATTACHMENT                      ((alp_postal_bodypart_disposition_t)2)
00160 /* @} */
00161 
00163 typedef uint8_t  alp_postal_bodypart_type_t;
00164 
00170 #define ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT                             ((alp_postal_bodypart_type_t)1)
00171 
00172 #define ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY                           ((alp_postal_bodypart_type_t)2)
00173 
00174 #define ALP_POSTAL_BODYPART_TYPE_URI                                    ((alp_postal_bodypart_type_t)3)
00175 
00176 #define ALP_POSTAL_BODYPART_TYPE_MULTIPART                              ((alp_postal_bodypart_type_t)4)
00177 /* @} */
00178 
00179 
00185 #define ALP_POSTAL_BODYPART_TYPE_SMALL_TEXT_MAX_SIZE    4096
00186 
00187 #define ALP_POSTAL_BODYPART_TYPE_SMALL_BINARY_MAX_SIZE  4096
00188 /* @} */
00189 
00195 #define ALP_POSTAL_BODYPART_URI_PROPERTY_MAX_LENGTH             512
00196 /* @} */
00197 
00199 typedef uint8_t  alp_postal_bodypart_content_status_t;
00200 
00206 #define ALP_POSTAL_BODYPART_CONTENT_STATUS_COMPLETE                             ((alp_postal_bodypart_content_status_t)1)
00207 
00208 #define ALP_POSTAL_BODYPART_CONTENT_STATUS_QUITED                               ((alp_postal_bodypart_content_status_t)2)
00209 
00210 #define ALP_POSTAL_BODYPART_CONTENT_STATUS_TOOBIG                               ((alp_postal_bodypart_content_status_t)3)
00211 /* @} */
00212 
00214 typedef uint8_t  alp_postal_bodypart_clone_method_t;
00215 
00221 #define ALP_POSTAL_BODYPART_CLONE_ONE           ((alp_postal_bodypart_clone_method_t)1)
00222 
00223 #define ALP_POSTAL_BODYPART_CLONE_CHILDREN      ((alp_postal_bodypart_clone_method_t)2)
00224 
00225 #define ALP_POSTAL_BODYPART_CLONE_ALL           ((alp_postal_bodypart_clone_method_t)3)
00226 /* @} */
00227 
00228 
00229 /******************************************************************************
00230  * Prototypes
00231  *****************************************************************************/
00232 
00238 alp_status_t alp_postal_bodypart_init(AlpPostalBodypart* iBodypartP);
00239 
00245 alp_status_t alp_postal_bodypart_init_container_list(AlpPostalBodyPartContainerList* iBodypartCLP);
00246 
00255 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);
00256 
00264 alp_status_t    alp_postal_bodypart_get_property(AlpPostalBodypart* iBodypartP, alp_postal_property_id_t iPropertyId, AlpPostalProperty** oBodypartPropertyP);
00265 
00272 alp_status_t    alp_postal_bodypart_add_bodypart(AlpPostalBodyPartContainerList* iContainerListP, AlpPostalBodypart* iBodypartP);
00273 
00281 alp_status_t    alp_postal_bodypart_add_container(AlpPostalBodyPartContainerList* iContainerListP1, AlpPostalBodyPartContainerList* iContainerListP2, AlpPostalBodypart* iCompositeBodypartP);
00282 
00289 alp_status_t    alp_postal_bodypart_get_next(AlpPostalBodypart* iBodypart, AlpPostalBodypart** oNextBodypart);
00290 
00297 alp_status_t    alp_postal_bodypart_get_child(AlpPostalBodypart* iBodypart, AlpPostalBodypart** oChildBodypart);
00298 
00305 alp_status_t    alp_postal_bodypart_is_composite(AlpPostalBodypart* iBodypart, bool* oIsComposite);
00306 
00314 alp_status_t    alp_postal_bodypart_clone(const AlpPostalBodypart* iBodypart, AlpPostalBodypart* oBodypart, alp_postal_bodypart_clone_method_t iCloneMethod);
00315 
00321 alp_status_t    alp_postal_bodypart_free(AlpPostalBodypart* iBodypartP);
00322 
00323 
00324 #ifdef __cplusplus
00325 }
00326 #endif /* __cplusplus */
00327 
00328 #endif /* ALP_POSTAL_BODYPART_H */
00329 

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

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