1.1 --- a/epoc32/include/commsdat.h Wed Mar 31 12:27:01 2010 +0100
1.2 +++ b/epoc32/include/commsdat.h Wed Mar 31 12:33:34 2010 +0100
1.3 @@ -1,9 +1,9 @@
1.4 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 // All rights reserved.
1.6 // This component and the accompanying materials are made available
1.7 -// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.8 +// under the terms of "Eclipse Public License v1.0"
1.9 // which accompanies this distribution, and is available
1.10 -// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.11 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.12 //
1.13 // Initial Contributors:
1.14 // Nokia Corporation - initial contribution.
1.15 @@ -15,8 +15,6 @@
1.16 //
1.17 //
1.18
1.19 -
1.20 -
1.21 /**
1.22 @file
1.23 @publishedAll
1.24 @@ -31,75 +29,6 @@
1.25 #include <e32property.h>
1.26
1.27
1.28 -namespace Meta
1.29 - {
1.30 -
1.31 - /**
1.32 - Visitor factory functions
1.33 - @internalComponent
1.34 - */
1.35 - MMetaType* TMDBNumBaseVisitorFactoryL(const TAny* mem, const TAny* data);
1.36 - /**
1.37 - @internalComponent
1.38 - */
1.39 - MMetaType* TMDBTextBaseVisitorFactoryL(const TAny* mem, const TAny* data);
1.40 - /**
1.41 - @internalComponent
1.42 - */
1.43 - MMetaType* TMDBBinBaseVisitorFactoryL(const TAny* mem, const TAny* data);
1.44 - /**
1.45 - @internalComponent
1.46 - */
1.47 - MMetaType* TMDBDeprecatedVisitorFactoryL(const TAny* mem, const TAny* data);
1.48 - /**
1.49 - @publishedPartner
1.50 - @released
1.51 - */
1.52 - IMPORT_C MMetaType* TMDBNumVisitorFactoryL(const TAny* mem, const TAny* data);
1.53 - /**
1.54 - @publishedPartner
1.55 - @released
1.56 - */
1.57 - IMPORT_C MMetaType* TMDBLinkNumVisitorFactoryL(const TAny* mem, const TAny* data);
1.58 - /**
1.59 - @publishedPartner
1.60 - @released
1.61 - */
1.62 - IMPORT_C MMetaType* TMDBTextVisitorFactoryL(const TAny* mem, const TAny* data);
1.63 - /**
1.64 - @publishedPartner
1.65 - @released
1.66 - */
1.67 - IMPORT_C MMetaType* TMDBMedTextVisitorFactoryL(const TAny* mem, const TAny* data);
1.68 - /**
1.69 - @publishedPartner
1.70 - @released
1.71 - */
1.72 - IMPORT_C MMetaType* TMDBLongTextVisitorFactoryL(const TAny* mem, const TAny* data);
1.73 - /**
1.74 - @publishedPartner
1.75 - @released
1.76 - */
1.77 - IMPORT_C MMetaType* TMDBBinVisitorFactoryL(const TAny* mem, const TAny* data);
1.78 - /**
1.79 - @publishedPartner
1.80 - @released
1.81 - */
1.82 - IMPORT_C MMetaType* TMDBLinkVisitorFactoryL(const TAny* mem, const TAny* data);
1.83 - /**
1.84 - @publishedPartner
1.85 - @released
1.86 - */
1.87 - IMPORT_C MMetaType* TMDBRecordSetVisitorFactoryL(const TAny* mem, const TAny* data);
1.88 - /**
1.89 - @publishedPartner
1.90 - @released
1.91 - */
1.92 - IMPORT_C MMetaType* TMDBGenericRecordVisitorFactoryL(const TAny* mem, const TAny* data);
1.93 -
1.94 - }
1.95 -
1.96 -
1.97 namespace CommsDat
1.98 {
1.99
1.100 @@ -107,6 +36,7 @@
1.101 Use this constant for Debug panic calls
1.102
1.103 @publishedAll
1.104 +@released
1.105 */
1.106 _LIT(KCommsDatName,"CommsDat");
1.107
1.108 @@ -114,42 +44,48 @@
1.109 Use this constant for Debug panic calls
1.110
1.111 @publishedAll
1.112 +@released
1.113 */
1.114 enum
1.115 {
1.116 ECommitBeforeOpenTransaction = 1,
1.117 ERollBackBeforeOpenTransaction = 2,
1.118 ESessionClosed = 3,
1.119 - EWrongAPPrioritySelPolRecord = 4,
1.120 - EWrongIAPServiceType = 5
1.121 + ENotifierNotCreated = 4,
1.122 + EWrongAPPrioritySelPolRecord = 5,
1.123 + EWrongIAPServiceType = 6,
1.124 + EInvalidIAP = 7
1.125 };
1.126
1.127 using namespace Meta;
1.128
1.129 -//////////////////////////////////////////////////
1.130 +//
1.131 // VERSION INFO
1.132 //
1.133 -
1.134 -/**
1.135 -Use this constant when starting a session to ask to use the latest version of the data set
1.136 -Do not use this constant if want option to keep using particular version after update
1.137 -Using this constant will require the client to keep up to date with any changes in the current dataset
1.138 -Use specific version constants to avoid changing until a deprecated version is no longer supported.
1.139 -
1.140 -@publishedAll
1.141 -*/
1.142 -#define KCDLatestVersion TVersion(0,0,0)
1.143 -
1.144 +/* Please note:
1.145 + * ------------
1.146 + * Concrete schema version should be used in the client applicaiton (curently available
1.147 + * KCDVersion1_1 or KCDVersion1_2).
1.148 + *
1.149 + * Until the 9.5 release there was only one schema version, KCDVersion1_1, which was
1.150 + * available. From the 9.5 relase there is a possibility to use other schema version,
1.151 + * KCDVersion1_2. Important that it's still possible to use the KCVersion1_1
1.152 + * constant, and use the deprecated records/tables, - CommsDat will invoke it's
1.153 + * mapping functionality in this case to be backward compatible.
1.154 + *
1.155 + * For backward compatibility reason the KCDLatestVersion and KCDCurrentVersion
1.156 + * constants are mapped to the KCDVersion1_1 constant. These constants are
1.157 + * deprecated.
1.158 + *
1.159 + * ! PLEASE USE EXPLICIT SCHEMA VERSION WHEN CREATING A COMMSDAT SESSION OBJECT !
1.160 + */
1.161
1.162 /**
1.163 Versions of the dataset in use
1.164 -NB These versions will change as data set is updated
1.165 -All versions apart from the one defined as KCDCurrentVersion are deprecated
1.166 -*/
1.167
1.168 -/*
1.169 Initial Version
1.170 @publishedAll
1.171 +@released
1.172 */
1.173
1.174 #define KCDVersion1_1 TVersion(1,1,1)
1.175 @@ -159,32 +95,32 @@
1.176 Some elements in Version KCDVersion1_1 now deprecated
1.177 These elements will be mapped if the client starts a session with KCDVersion1_1
1.178 They will be ignored or rejected as not supported if client starts a session with
1.179 -KCDVersion1_2 or KCDLatestVersion
1.180 +KCDVersion1_2
1.181
1.182 @publishedAll
1.183 +@released
1.184 */
1.185 #define KCDVersion1_2 TVersion(1,2,1)
1.186 #endif
1.187 +
1.188 /**
1.189 -The version of the dataset supported by default
1.190 -NB This version will change as data set is updated
1.191 +For BC reasons this constant maps to the KCDVersion1_1 dataschema version.
1.192
1.193 @publishedAll
1.194 +@deprecated
1.195 */
1.196 -#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
1.197 +#define KCDLatestVersion KCDVersion1_1
1.198
1.199 -#define KCDCurrentVersion KCDVersion1_2
1.200 +/**
1.201 +For BC reasons this constant maps to the KCDVersion1_1 dataschema version.
1.202
1.203 -#else
1.204 -
1.205 +@publishedAll
1.206 +@deprecated
1.207 +*/
1.208 #define KCDCurrentVersion KCDVersion1_1
1.209
1.210 -#endif
1.211
1.212 -
1.213 -
1.214 -
1.215 -////////////////////////////////////////////////////
1.216 +//
1.217 // Attribute Flags
1.218 //
1.219
1.220 @@ -195,6 +131,7 @@
1.221 By default attributes are obeyed.
1.222
1.223 @publishedAll
1.224 +@released
1.225 */
1.226 typedef enum
1.227 {
1.228 @@ -208,56 +145,7 @@
1.229 // Policed at storage server API with platsec capability
1.230 } TCDAttributeFlags;
1.231
1.232 -
1.233 -/////////////////////////////////////////////////////
1.234 -// Field types
1.235 //
1.236 -/**
1.237 -@publishedPartner
1.238 -@released
1.239 -*/
1.240 -typedef enum
1.241 -{
1.242 - EText, ///< Text field - descriptor with a maximum length of 50 unicode characters.
1.243 - EDesC8, ///< Buffer of TUInt8. Maximum length is 1024 * 8.
1.244 - EUint32, ///< Unsigned 32 bit integer field.
1.245 - EInt, ///< Signed integer field
1.246 - EBool, ///< Boolean field
1.247 - EMedText, ///< Text field - descriptor with a maximum length of 256 unicode characters.
1.248 - ELongText, ///< Text field - descriptor with a maximum length of 1024 unicode characters.
1.249 - ELink ///< This field is an integer that identifies a record in another table.
1.250 -
1.251 -} TCDFieldValueTypes;
1.252 -
1.253 -/**
1.254 -@publishedPartner
1.255 -@released
1.256 -*/
1.257 -const TInt KMaxTextLength = 50; ///< Specifies the max length (characters) for short text.
1.258 -/**
1.259 -@publishedPartner
1.260 -@released
1.261 -*/
1.262 -const TInt KMaxMedTextLength = 255; ///< Specifies the max length (characters) for medium text.
1.263 -/**
1.264 -@publishedPartner
1.265 -@released
1.266 -*/
1.267 -const TInt KMaxLongTextLength = 1024; ///< Specifies the max length (characters) for long text.
1.268 -/**
1.269 -@publishedPartner
1.270 -@released
1.271 -*/
1.272 -const TInt KMaxNumLength = 1; ///< Specifies the max length for an integer and a boolean.
1.273 -
1.274 -// Length override on a normal text field
1.275 -/**
1.276 -@publishedPartner
1.277 -@released
1.278 -*/
1.279 -const TInt KShortTextLength = 32;
1.280 -
1.281 -////////////////////////////////////////////////////
1.282 // Masks for Element Type info
1.283 //
1.284
1.285 @@ -266,6 +154,7 @@
1.286 Mask to use to hide attribute reserved bits
1.287
1.288 @publishedAll
1.289 +@released
1.290 */
1.291 #define KCDMaskHideAttrAndRes 0xffffff00
1.292
1.293 @@ -274,6 +163,7 @@
1.294 Mask to use to show reserved bits
1.295
1.296 @publishedAll
1.297 +@released
1.298 */
1.299 #define KCDMaskShowRes 0x8000000f
1.300
1.301 @@ -282,6 +172,7 @@
1.302 Mask to use to hide reserved bits
1.303
1.304 @publishedAll
1.305 +@released
1.306 */
1.307 #define KCDMaskHideRes 0x7ffffff0
1.308
1.309 @@ -290,6 +181,7 @@
1.310 T x x Mask to show Table Type info
1.311
1.312 @publishedAll
1.313 +@released
1.314 */
1.315 #define KCDMaskShowRecordType 0x7f800000
1.316
1.317 @@ -298,6 +190,7 @@
1.318 x C x Mask to show Column Type
1.319
1.320 @publishedAll
1.321 +@released
1.322 */
1.323 #define KCDMaskShowFieldType 0x007f0000
1.324
1.325 @@ -306,6 +199,7 @@
1.326 T C x Mask to show Table and Column Type
1.327
1.328 @publishedAll
1.329 +@released
1.330 */
1.331 #define KCDMaskShowType 0x7fff0000
1.332
1.333 @@ -314,6 +208,7 @@
1.334 T x R Mask to show Record id
1.335
1.336 @publishedAll - don't use this. Replace with KCDMaskShowRecordId
1.337 +@deprecated
1.338 */
1.339 #define KCDMaskShowInstance 0x0000ff00
1.340
1.341 @@ -322,6 +217,7 @@
1.342 T x R Mask to show Record id
1.343 Use in place of KCDMaskShowInstance
1.344 @publishedAll
1.345 +@released
1.346 */
1.347 #define KCDMaskShowRecordId 0x0000ff00
1.348
1.349 @@ -330,21 +226,16 @@
1.350 T C R Mask to show Field instance without attributes or reserved bits
1.351
1.352 @publishedAll
1.353 +@released
1.354 */
1.355 #define KCDMaskShowField 0x7fffff00
1.356
1.357
1.358 /**
1.359 -T C R Mask for Central Repository to find a single field
1.360 -
1.361 -@internalComponent
1.362 -*/
1.363 -#define KCDMaskFindSingleField 0x7FFFFFFE
1.364 -
1.365 -/**
1.366 T x R Mask to show Record Type and Record Id without column type, attributes or reserved bits
1.367
1.368 @publishedAll
1.369 +@released
1.370 */
1.371 #define KCDMaskShowRecordTypeAndId (KCDMaskShowRecordType | KCDMaskShowRecordId)
1.372
1.373 @@ -352,6 +243,7 @@
1.374 x C R Mask to show Column Type and Record Id without Record type, attributes or reserved bits
1.375
1.376 @publishedAll
1.377 +@released
1.378 */
1.379 #define KCDMaskShowColumnTypeAndRecordId (KCDMaskShowFieldType | KCDMaskShowRecordId)
1.380
1.381 @@ -360,40 +252,15 @@
1.382 Mask to show Attributes
1.383
1.384 @publishedAll
1.385 +@released
1.386 */
1.387 #define KCDMaskShowAttributes 0x000000f0
1.388
1.389 -
1.390 -/**
1.391 -Mask for all attribute settings that apply to read and write operations
1.392 -see TCDAttributeFlags
1.393 -
1.394 - ECDNoWriteButDelete = 0x0000010
1.395 - ECDHidden = 0x0000020
1.396 - ECDPrivate = 0x0000040
1.397 - ECDProtectedWrite = 0x0000080
1.398 -
1.399 -@publishedPartner
1.400 -@released
1.401 -*/
1.402 -#define KCDMaskShowReadWriteAttributes (ECDNoWriteButDelete |ECDHidden | ECDPrivate | ECDProtectedWrite)
1.403 -
1.404 -/**
1.405 -Mask for all attribute settings that apply to read operations
1.406 -see TCDAttributeFlags
1.407 -
1.408 - ECDHidden = 0x0000020
1.409 - ECDPrivate = 0x0000040
1.410 -
1.411 -@publishedPartner
1.412 -@released
1.413 -*/
1.414 -#define KCDMaskShowReadAttributes (ECDHidden| ECDPrivate)
1.415 -
1.416 /**
1.417 Mask to use to show attributes and reserved bits
1.418
1.419 @publishedAll
1.420 +@released
1.421 */
1.422 #define KCDMaskShowAttrAndRes 0x000000ff
1.423
1.424 @@ -402,6 +269,7 @@
1.425 Id for the Initial record in a record set
1.426
1.427 @publishedAll
1.428 +@released
1.429 */
1.430 #define KCDInitialRecordId 0x00000100
1.431
1.432 @@ -410,6 +278,7 @@
1.433 Id for the Initial table in the database
1.434
1.435 @publishedAll
1.436 +@released
1.437 */
1.438 #define KCDInitialTableId 0x00800000
1.439
1.440 @@ -419,6 +288,7 @@
1.441 clients have 64 table ids available to them
1.442
1.443 @publishedAll
1.444 +@released
1.445 */
1.446 #define KCDInitialUDefRecordType 0x5F800000
1.447
1.448 @@ -427,6 +297,7 @@
1.449 Id for the Last User defined table in the database.
1.450
1.451 @publishedAll
1.452 +@released
1.453 */
1.454 #define KCDLastUDefRecordType 0x7F800000
1.455
1.456 @@ -435,6 +306,7 @@
1.457 Id for the Initial column in a record set
1.458
1.459 @publishedAll
1.460 +@released
1.461 */
1.462 #define KCDInitialColumnId 0x00010000
1.463
1.464 @@ -443,6 +315,7 @@
1.465 T C 0 location for default field values
1.466
1.467 @publishedAll
1.468 +@released
1.469 */
1.470 #define KCDDefaultRecord 0x00000000
1.471
1.472 @@ -451,43 +324,10 @@
1.473 Combine with table id and Column id to give the location of column type info
1.474
1.475 @publishedAll
1.476 +@released
1.477 */
1.478 #define KCDColumnTypeInfo 0x0000ff00
1.479
1.480 -/**
1.481 -Combine with table id to give the location of table type info
1.482 -
1.483 -@publishedPartner
1.484 -@released
1.485 -*/
1.486 -#define KCDTableTypeInfo 0x007fff00
1.487 -
1.488 -/*
1.489 -Combine with table id to give location of record type info
1.490 -*/
1.491 -//#define KCDRecordTypeInfo 0x007f0000
1.492 -
1.493 -
1.494 -/**
1.495 -Use to request allocation of a new table id.
1.496 -Should only be called when creating a new user-defined table
1.497 -
1.498 -@publishedPartner
1.499 -@released
1.500 -*/
1.501 -#define KCDNewTableRequest 0x007fff00
1.502 -
1.503 -
1.504 -/**
1.505 -Combine with table id to give request for a new column in a table.
1.506 -The table must already exist. New columns should only normally be
1.507 -requested when creating a new user-defined table
1.508 -
1.509 -@publishedPartner
1.510 -@released
1.511 -*/
1.512 -#define KCDNewColumnRequest 0x0000ff01
1.513 -
1.514
1.515
1.516 /**
1.517 @@ -495,6 +335,7 @@
1.518 The table must already exist.
1.519
1.520 @publishedAll
1.521 +@released
1.522 */
1.523 #define KCDNewRecordRequest 0x807f0001
1.524
1.525 @@ -503,8 +344,9 @@
1.526 Combined with CMDBField, it finds the TableId given the table name
1.527
1.528 @publishedAll
1.529 +@released
1.530 */
1.531 -#define KCDMaskGenericTableName KCDNewTableRequest
1.532 +#define KCDMaskGenericTableName 0x007fff00
1.533
1.534
1.535
1.536 @@ -512,6 +354,7 @@
1.537 Maximum number of tables that can be created in one repository
1.538
1.539 @publishedAll
1.540 +@released
1.541 */
1.542 #define KCDMaxTables 254
1.543
1.544 @@ -520,6 +363,7 @@
1.545 Maximum number of User defined tables that can be created in one repository
1.546
1.547 @publishedAll
1.548 +@released
1.549 */
1.550 #define KCDMaxUserDefTables 64
1.551
1.552 @@ -528,6 +372,7 @@
1.553 Maximum number of columns that can be created in one table
1.554
1.555 @publishedAll
1.556 +@released
1.557 */
1.558 #define KCDMaxColumns 126
1.559
1.560 @@ -536,6 +381,7 @@
1.561 Maximum number of records that can be stored in one table
1.562
1.563 @publishedAll
1.564 +@released
1.565 */
1.566 #define KCDMaxRecords 254
1.567
1.568 @@ -544,175 +390,15 @@
1.569 Maximum number of characters in a field name
1.570
1.571 @publishedAll
1.572 +@released
1.573 */
1.574 #define KCDMaxFieldNameLength 64
1.575
1.576
1.577 -
1.578 -/**
1.579 -Flag to indicate change in field
1.580 -Not for use in database. Just with fields
1.581 -
1.582 -@internalComponent
1.583 -*/
1.584 -#define KCDChangedFlag 0x00000001
1.585 -
1.586 -/**
1.587 -@publishedPartner
1.588 -@released
1.589 -*/
1.590 -#define KCDMaxRecordId 0x0000ff00
1.591 -/**
1.592 -@publishedPartner
1.593 -@released
1.594 -*/
1.595 -#define KCDMaxColumnId 0x007f0000
1.596 -/**
1.597 -@publishedPartner
1.598 -@released
1.599 -*/
1.600 -#define KCDMaxTableId 0x7f800000
1.601 -
1.602 -
1.603 -
1.604 -/*
1.605 -Mask to show only basic type info,
1.606 -Masks out all info on links
1.607 -@internalComponent
1.608 -*/
1.609 -#define KCDShowBasicTypeInfo 0x000000ff
1.610 -/**
1.611 -Typedefs for convenience in meta data definitions
1.612 -@internalComponent
1.613 -*/
1.614 -using namespace Meta;
1.615 -
1.616 -template <class TYPE> class TMDBVisitor;
1.617 -class TMDBRecordLinkVisitor;
1.618 -class TMDBRecordSetVisitor;
1.619 -class TMDBGenericRecordVisitor;
1.620 -class CMDBElement;
1.621 -
1.622 -/*
1.623 -Visitors for field values
1.624 -*/
1.625 -
1.626 -/**
1.627 -Typedefs for convenience in meta data definitions
1.628 -@internalComponent
1.629 -*/
1.630 - typedef TMDBVisitor<TInt> TMDBNum;
1.631 -
1.632 -/**
1.633 -Typedefs for convenience in meta data definitions
1.634 -@internalComponent
1.635 -*/
1.636 - typedef TMDBVisitor<TInt> TMDBBool;
1.637 -
1.638 -/**
1.639 -Typedefs for convenience in meta data definitions
1.640 -@internalComponent
1.641 -*/
1.642 - typedef TMDBVisitor<TDesC> TMDBDes;
1.643 -
1.644 -/**
1.645 -Typedefs for convenience in meta data definitions
1.646 -@internalComponent
1.647 -*/
1.648 - typedef TMDBVisitor<TDesC8> TMDBDes8;
1.649 -
1.650 -/*
1.651 -Visitors for containers
1.652 -*/
1.653 -
1.654 -/**
1.655 -Typedefs for convenience in meta data definitions
1.656 -@internalComponent
1.657 -*/
1.658 -typedef TMDBRecordLinkVisitor TMDBLink;
1.659 -
1.660 -/**
1.661 -Typedefs for convenience in meta data definitions
1.662 -@internalComponent
1.663 -*/
1.664 -typedef TMDBRecordSetVisitor TMDBRecordSet;
1.665 -
1.666 -/**
1.667 -Typedefs for convenience in meta data definitions
1.668 -@internalComponent
1.669 -*/
1.670 -typedef TMDBGenericRecordVisitor TMDBGenRecord;
1.671 -
1.672 -/** UIDs for CommDB event notification */
1.673 -/**
1.674 -@publishedPartner
1.675 -@released
1.676 -*/
1.677 -const TUid KUidCommDbNotificationEvent = {0x1020762E};
1.678 -/**
1.679 -@publishedPartner
1.680 -@released
1.681 -*/
1.682 -const TUid KUidCommsDatStatusEvent = {KUidSystemCategoryValue};
1.683 -/**
1.684 -@publishedPartner
1.685 -@released
1.686 -*/
1.687 -const TInt KCommsDatStatusEventCommitSeq = 0x1020762F;
1.688 -
1.689 -/**
1.690 -Metadatabase container type ids
1.691 -
1.692 -@internalComponent
1.693 -*/
1.694 -#define KCDTIdMDBElement 123
1.695 -
1.696 -/**
1.697 -Metadatabase container type ids
1.698 -
1.699 -@internalComponent
1.700 -*/
1.701 -#define KCDTIdMDBNumFieldBase 223
1.702 -
1.703 -/**
1.704 -Metadatabase container type ids
1.705 -
1.706 -@internalComponent
1.707 -*/
1.708 -#define KCDTIdMDBTextFieldBase 224
1.709 -
1.710 -/**
1.711 -Metadatabase container type ids
1.712 -
1.713 -@internalComponent
1.714 -*/
1.715 -#define KCDTIdMDBBinFieldBase 225
1.716 -
1.717 -/**
1.718 -Metadatabase container type ids
1.719 -
1.720 -@internalComponent
1.721 -*/
1.722 -#define KCDTIdMDBRecordLinkBase 323
1.723 -
1.724 -/**
1.725 -Metadatabase container type ids
1.726 -
1.727 -@internalComponent
1.728 -*/
1.729 -#define KCDTIdMDBRecordSetBase 523
1.730 -
1.731 -/**
1.732 -Metadatabase container type ids
1.733 -
1.734 -@internalComponent
1.735 -*/
1.736 -#define KCDTIdMDBGenericRecord 585
1.737 -
1.738 -
1.739 /**
1.740 Macro for interaction with netmeta
1.741 @publishedAll
1.742 +@released
1.743 */
1.744 #define X_REGISTER_ATTRIBUTE( thisMetaClass, var, metaType ) \
1.745 { _FOFF( thisMetaClass, var ), Meta::metaType##VisitorFactoryL },
1.746 @@ -728,6 +414,7 @@
1.747 /**
1.748 Macros used to implement virtual functions from MMetaData interface and construct the v data table
1.749 @publishedAll
1.750 +@released
1.751 */
1.752 #define EXP_START_ATTRIBUTE_TABLE( thisMetaClass, uid, typeId ) \
1.753 EXPORT_C Meta::SVDataTableEntry const* thisMetaClass::GetVDataTable() const { return &iVDataTable[0]; }; \
1.754 @@ -737,9 +424,36 @@
1.755 { uid, reinterpret_cast<Meta::TMetaTypeNewL>(typeId) },
1.756
1.757
1.758 -#define END_ATTRIBUTE_TABLE_BASE_N( baseMetaClass, baseId, entry ) \
1.759 - { (TInt)((TAny*)(baseMetaClass::GetVDataTableStatic() + entry)), NULL }};
1.760 +/**
1.761 +@publishedAll
1.762 +@released
1.763 +*/
1.764 +typedef enum
1.765 +{
1.766 + EText, //< Text field - descriptor with a maximum length of 50 unicode characters.
1.767 + EDesC8, //< Buffer of TUInt8. Maximum length is 1024 * 8.
1.768 + EUint32, //< Unsigned 32 bit integer field.
1.769 + EInt, //< Signed integer field
1.770 + EBool, //< Boolean field
1.771 + EMedText, //< Text field - descriptor with a maximum length of 256 unicode characters.
1.772 + ELongText, //< Text field - descriptor with a maximum length of 1024 unicode characters.
1.773 + ELink //< This field is an integer that identifies a record in another table.
1.774
1.775 +} TCDFieldValueTypes;
1.776
1.777 +/**
1.778 +Flag to indicate change in field
1.779 +Not for use in database. Just with fields
1.780 +
1.781 +@publishedAll
1.782 +*/
1.783 +#define KCDChangedFlag 0x00000001
1.784 +
1.785 } //end namespace CommsDat
1.786 +
1.787 +#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
1.788 +#include <commsdat_internal.h>
1.789 +#include <commsdat_partner.h>
1.790 #endif
1.791 +
1.792 +#endif