epoc32/include/mw/aiwcommon.hrh
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 1 666f914201fb
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
williamr@2
     1
/*
williamr@2
     2
* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     3
* All rights reserved.
williamr@2
     4
* This component and the accompanying materials are made available
williamr@2
     5
* 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
williamr@2
     6
* which accompanies this distribution, and is available
williamr@2
     7
* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
williamr@2
     8
*
williamr@2
     9
* Initial Contributors:
williamr@2
    10
* Nokia Corporation - initial contribution.
williamr@2
    11
*
williamr@2
    12
* Contributors:
williamr@2
    13
*
williamr@2
    14
* Description:     Declares common constants to be used in both resources and
williamr@2
    15
*                C++ code of consumers and providers.
williamr@2
    16
*
williamr@2
    17
*/
williamr@2
    18
williamr@2
    19
williamr@2
    20
williamr@2
    21
williamr@2
    22
williamr@2
    23
#ifndef AIW_COMMON_HRH
williamr@2
    24
#define AIW_COMMON_HRH
williamr@2
    25
williamr@2
    26
// DATA TYPES
williamr@2
    27
williamr@2
    28
// CONSTANTS
williamr@2
    29
williamr@2
    30
/**
williamr@2
    31
* Predefined service commands (UIDs).
williamr@2
    32
*/
williamr@2
    33
enum TAiwServiceCommands
williamr@2
    34
    {
williamr@2
    35
    /** Null value. */
williamr@2
    36
    KAiwCmdNone = 0,
williamr@2
    37
williamr@2
    38
    /** Create new content. */
williamr@2
    39
    KAiwCmdNew = 0x101F864C,
williamr@2
    40
        
williamr@2
    41
    /** Edit existing content. */
williamr@2
    42
    KAiwCmdEdit = 0x101F864D,
williamr@2
    43
        
williamr@2
    44
    /** Select content. */
williamr@2
    45
    KAiwCmdSelect = 0x101F864E,
williamr@2
    46
    
williamr@2
    47
    /** View content. */
williamr@2
    48
    KAiwCmdView = 0x101F864F,
williamr@2
    49
williamr@2
    50
    /** Create call. */
williamr@2
    51
    KAiwCmdCall = 0x101F86B0,
williamr@2
    52
williamr@2
    53
    /** Send content. */
williamr@2
    54
    KAiwCmdSend = 0x101F86B3,
williamr@2
    55
williamr@2
    56
    /** Print content. */
williamr@2
    57
    KAiwCmdPrint = 0x101F8666,
williamr@2
    58
williamr@2
    59
    /** Assign content. */
williamr@2
    60
    KAiwCmdAssign = 0x101F8716,
williamr@2
    61
williamr@2
    62
    /** Share content. */
williamr@2
    63
    KAiwCmdShare = 0x101F871E,
williamr@2
    64
williamr@2
    65
    /** Synchronize content. */
williamr@2
    66
    KAiwCmdSynchronize = 0x101F8724,
williamr@2
    67
williamr@2
    68
    /** Synchronize selected. */
williamr@2
    69
    KAiwCmdSynchronizeSelected = 0x1020720C,
williamr@2
    70
williamr@2
    71
    /** Search content. */
williamr@2
    72
    KAiwCmdSearch = 0x101F87DF,
williamr@2
    73
williamr@2
    74
    /** Copy content. */
williamr@2
    75
    KAiwCmdCopy = 0x101F87DE,
williamr@2
    76
williamr@2
    77
    /** Show print preview. */
williamr@2
    78
    KAiwCmdPrintPreview = 0x101FD656,
williamr@2
    79
    
williamr@2
    80
    /** Push to talk. */
williamr@2
    81
    KAiwCmdPoC = 0x101FD657,
williamr@2
    82
    
williamr@2
    83
    /** View content in online store. */
williamr@2
    84
    KAiwCmdViewOnline = 0x102072EA,
williamr@2
    85
    
williamr@2
    86
    /** Upload content. */
williamr@2
    87
    KAiwCmdUpload = 0x102072EB,
williamr@2
    88
    
williamr@2
    89
    /** Transfer a range of media files to a remote storage device. */
williamr@2
    90
    KAiwCmdXpressTransfer = 0x10207430,
williamr@2
    91
    
williamr@2
    92
    /** UPnP copy content. */
williamr@2
    93
    KAiwCmdUPnPCopy = 0x10207431,
williamr@2
    94
           
williamr@2
    95
    /** UPnP move content. */          
williamr@2
    96
    KAiwCmdUPnPMove = 0x10207432,
williamr@2
    97
williamr@2
    98
    /** UPnP play content. */
williamr@2
    99
    KAiwCmdUPnPPlay = 0x10207433,
williamr@2
   100
williamr@2
   101
    /** UPnP open content. */
williamr@2
   102
    KAiwCmdUPnPOpen = 0x10207434,
williamr@2
   103
    
williamr@2
   104
    /** UPnP enable external. */
williamr@2
   105
    KAiwCmdUPnPEnableExternal = 0x10207435,
williamr@2
   106
    
williamr@2
   107
    /** Show help content. */
williamr@2
   108
    KAiwCmdHelp = 0x10275075,
williamr@2
   109
    
williamr@2
   110
    /** Add or remove items from intent. (Should be used as a menu service command). */
williamr@2
   111
    KAiwCmdIntent = 0x10275114,
williamr@2
   112
    
williamr@2
   113
    /** Add items to intent. (Should be used as a base service command). */
williamr@2
   114
    KAiwCmdAddToIntent = 0x10275115,
williamr@2
   115
    
williamr@2
   116
    /** Remove items from intent. (Should be used as a base service command). */
williamr@2
   117
    KAiwCmdRemoveFromIntent = 0x10275116,
williamr@2
   118
    
williamr@2
   119
    /** Client can request that map should be displayed on screen. */ 
williamr@2
   120
    KAiwCmdMnShowMap = 0x10206904,
williamr@2
   121
    
williamr@2
   122
    /** Allows to start navigation to desired destination. */
williamr@2
   123
    KAiwCmdMnNavigateTo = 0x10206905,
williamr@2
   124
    
williamr@2
   125
    /** Starts reverse geocoding request: finding address for given coordinate. */
williamr@2
   126
    KAiwCmdMnAddrByCoord = 0x10206906,
williamr@2
   127
    
williamr@2
   128
    /** Starts geocoding request: finding coordinate by given address. */
williamr@2
   129
    KAiwCmdMnCoordByAddr = 0x10206907,    
williamr@2
   130
    
williamr@2
   131
    /** Allows client to request that user shall select a location from map. */
williamr@2
   132
    KAiwCmdMnSelectFromMap = 0x10206908,
williamr@2
   133
    
williamr@2
   134
    /** Send via Bluetooth. */
williamr@2
   135
    KAiwCmdSendViaBT = 0x10281894,   
williamr@2
   136
	
williamr@2
   137
    /** Send via Irda. */
williamr@2
   138
    KAiwCmdSendViaIR = 0x10281895,
williamr@2
   139
    
williamr@2
   140
    /** Enterprise telephony. */
williamr@2
   141
    KAiwCmdEnterpriseTel = 0x20001FC6,  
williamr@2
   142
williamr@2
   143
    /** Rotate image etc. */
williamr@2
   144
    KAiwCmdRotate = 0x10281F96,
williamr@2
   145
    
williamr@2
   146
    /** Rotate device screen. */
williamr@2
   147
    KAiwCmdRotateScreen = 0x10281F97,
williamr@2
   148
    
williamr@2
   149
    /** Set call image. */
williamr@2
   150
    KAiwCmdCallImage = 0x1028245E,
williamr@2
   151
    
williamr@2
   152
    /** Give different objects to another device using Near Field Communications. */
williamr@2
   153
    KAiwCmdNFCGive = 0x1028245F,
williamr@2
   154
    
williamr@2
   155
    /** Start listening secondary bearer (e.g. Bluetooth) setup events via Near Field Communication. */
williamr@2
   156
    KAiwCmdNFCEasySetup = 0x2001FE32,
williamr@2
   157
    
williamr@2
   158
    /** SettingWizard Email view activation. */
williamr@2
   159
    KAiwCmdSettingWizardEmailView = 0x10281C95,
williamr@2
   160
    
williamr@2
   161
    /** In-device search. */
williamr@2
   162
    KAiwCmdContentSearch = 0x10282844,
williamr@2
   163
    
williamr@2
   164
	/** A special service command enabling consumer to attach for all relevant 
williamr@2
   165
	AIW services for a certain object. */
williamr@2
   166
	KAiwCmdAnyCmdForObject = 0x102823F1,
williamr@2
   167
	
williamr@2
   168
	/** To support VoIP settings provisioning with plugins **/
williamr@2
   169
	KAiwCmdEasyVoIPProvisioning = 0x10283099,
williamr@2
   170
	
williamr@2
   171
	/** Assign Screensaver*/
williamr@2
   172
    KAiwCmdAssignScreenSaver = 0x1028309A,      
williamr@2
   173
	
williamr@2
   174
	/*Location Trail*/ 
williamr@2
   175
	KAiwCmdLocationTrail=0x10282845
williamr@2
   176
/*<branchInfo originator="gronoff" since="08-04-18" category="new_feature" error=”none”>
williamr@2
   177
<pf_5250_OFF_CYCLE_SW_INT>
williamr@2
   178
</branchInfo>*/
williamr@2
   179
// BRANCH 08-04-18 : gronoff
williamr@2
   180
        ,
williamr@2
   181
	/** Converged service plugin and UI extension plugin*/
williamr@2
   182
	KAiwCmdCSCServicePlugins = 0x1020E56F,
williamr@2
   183
	KAiwCmdCSCUiExtensionPlugins = 0x10282EF7 
williamr@2
   184
// BRANCH_END 08-04-18 : gronoff
williamr@2
   185
    };
williamr@2
   186
williamr@2
   187
williamr@2
   188
// Service command strings. These strings are used in service provider's
williamr@2
   189
// opaque data field to specify what service command(s) the provider implements.
williamr@2
   190
williamr@2
   191
#define KAiwCmdNoneStr                    "00000000"
williamr@2
   192
#define KAiwCmdNewStr                     "101F864C"
williamr@2
   193
#define KAiwCmdEditStr                    "101F864D"
williamr@2
   194
#define KAiwCmdSelectStr                  "101F864E"
williamr@2
   195
#define KAiwCmdViewStr                    "101F864F"
williamr@2
   196
#define KAiwCmdPrintStr                   "101F8666"
williamr@2
   197
#define KAiwCmdCallStr                    "101F86B0"
williamr@2
   198
#define KAiwCmdSendStr                    "101F86B3"
williamr@2
   199
#define KAiwCmdAssignStr                  "101F8716"
williamr@2
   200
#define KAiwCmdShareStr                   "101F871E"
williamr@2
   201
#define KAiwCmdSynchronizeStr             "101F8724"
williamr@2
   202
#define KAiwCmdSearchStr                  "101F87DF"
williamr@2
   203
#define KAiwCmdCopy                       "101F87DE"
williamr@2
   204
#define KAiwCmdPrintPreviewStr            "101FD656"
williamr@2
   205
#define KAiwCmdPoCStr                     "101FD657" 
williamr@2
   206
#define KAiwCmdSynchronizeSelectedStr     "1020720C"
williamr@2
   207
#define KAiwCmdViewOnlineStr              "102072EA" 
williamr@2
   208
#define KAiwCmdUploadStr                  "102072EB"
williamr@2
   209
#define KAiwCmdXpressTransferStr          "10207430"
williamr@2
   210
#define KAiwCmdUPnPCopyStr                "10207431"
williamr@2
   211
#define KAiwCmdUPnPMoveStr                "10207432"
williamr@2
   212
#define KAiwCmdUPnPPlayStr                "10207433"
williamr@2
   213
#define KAiwCmdUPnPOpenStr                "10207434"
williamr@2
   214
#define KAiwCmdUPnPEnableExternalStr      "10207435"
williamr@2
   215
#define KAiwCmdHelpStr                    "10275075"
williamr@2
   216
#define KAiwCmdIntentStr                  "10275114"
williamr@2
   217
#define KAiwCmdAddToIntentStr             "10275115"
williamr@2
   218
#define KAiwCmdRemoveFromIntentStr        "10275116"
williamr@2
   219
#define KAiwCmdMnShowMapStr               "10206904"
williamr@2
   220
#define KAiwCmdMnNavigateToStr            "10206905"
williamr@2
   221
#define KAiwCmdMnAddrByCoordStr           "10206906"
williamr@2
   222
#define KAiwCmdMnCoordByAddrStr           "10206907"
williamr@2
   223
#define KAiwCmdMnSelectFromMapStr         "10206908"
williamr@2
   224
#define KAiwCmdSendViaBTStr               "10281894"
williamr@2
   225
#define KAiwCmdSendViaIRStr               "10281895"
williamr@2
   226
#define KAiwCmdEnterpriseTelStr           "20001FC6"
williamr@2
   227
#define KAiwCmdRotateStr                  "10281F96"
williamr@2
   228
#define KAiwCmdRotateScreenStr            "10281F97"
williamr@2
   229
#define KAiwCmdCallImageStr               "1028245E"
williamr@2
   230
#define KAiwCmdNFCGiveStr                 "1028245F"
williamr@2
   231
#define KAiwCmdNFCEasySetupStr            "2001FE32"
williamr@2
   232
#define KAiwCmdSettingWizardEmailViewStr  "10281C95"
williamr@2
   233
#define KAiwCmdContentSearchStr           "10282844"
williamr@2
   234
#define KAiwCmdAnyCmdForObjectStr         "102823F1"
williamr@2
   235
#define KAiwCmdEasyVoIPProvisioningStr    "10283099"
williamr@2
   236
#define KAiwCmdAssignScreenSaverStr       "1028309A"
williamr@2
   237
#define KAiwCmdLocationTrail              "10282845"
williamr@2
   238
/*<branchInfo originator="gronoff" since="08-04-18" category="new_feature" error=”none”>
williamr@2
   239
<pf_5250_OFF_CYCLE_SW_INT>
williamr@2
   240
</branchInfo>*/
williamr@2
   241
// BRANCH 08-04-18 : gronoff
williamr@2
   242
#define	KAiwCmdCSCServicePluginsStr  	  "1020E56F"
williamr@2
   243
#define	KAiwCmdCSCUiExtensionPluginsStr   "10282EF7" 
williamr@2
   244
// BRANCH_END 08-04-18 : gronoff
williamr@2
   245
williamr@2
   246
/**
williamr@2
   247
* Service command options (bits) to alter command handling behaviour.
williamr@2
   248
*/
williamr@2
   249
enum TAiwServiceCmdOptions
williamr@2
   250
    {
williamr@2
   251
    /**
williamr@2
   252
    * Consumer wants asynchronous command handling.
williamr@2
   253
    * The default is synchronous command handling.
williamr@2
   254
    * In asynchronous case consumer needs to pass a callback to provider.
williamr@2
   255
    */
williamr@2
   256
    KAiwOptASyncronous = 0x0001,
williamr@2
   257
williamr@2
   258
    /**
williamr@2
   259
    * Consumer wants provider to make a callback to check coming output
williamr@2
   260
    * parameters prior returning from service command handling.
williamr@2
   261
    * Consumer needs to pass a callback to provider.
williamr@2
   262
    */
williamr@2
   263
    KAiwOptOutParamCheck = 0x0002,
williamr@2
   264
williamr@2
   265
    /**
williamr@2
   266
    * Consumer tells provider that it is prepared to handle
williamr@2
   267
    * callback events for possibly incomplete/wrong parameter list. 
williamr@2
   268
    */
williamr@2
   269
    KAiwOptInParamCheck = 0x0004,
williamr@2
   270
    
williamr@2
   271
    /**
williamr@2
   272
    * Consumer wants to cancel an asynchronous AIW service. 
williamr@2
   273
    * When a consumer wants to cancel the asynchronous service that a provider
williamr@2
   274
    * is executing, it should call ExecuteMenuCmdL() or ExecuteServiceCmdL() 
williamr@2
   275
    * with the same parameters as when requesting the service, but set this 
williamr@2
   276
    * cancel bit on. The cancel operation itself is synchronous, i.e. the 
williamr@2
   277
    * provider must call the consumer's callback with KAiwEventCanceled before 
williamr@2
   278
    * the Execute*CmdL() returns.
williamr@2
   279
    */
williamr@2
   280
    KAiwOptCancel = 0x0008
williamr@2
   281
    };
williamr@2
   282
williamr@2
   283
williamr@2
   284
/**
williamr@2
   285
* Service classes (UID). Technically these are same as service interface UIDs.
williamr@2
   286
*/
williamr@2
   287
enum TAiwServiceClass
williamr@2
   288
    {
williamr@2
   289
    /** 
williamr@2
   290
    * None. 
williamr@2
   291
    */
williamr@2
   292
    KAiwClassNone = 0x0,
williamr@2
   293
williamr@2
   294
    /**
williamr@2
   295
    * Base service (no UI expected). 
williamr@2
   296
    * Every other class must implement this always!
williamr@2
   297
    */
williamr@2
   298
    KAiwClassBase = 0x101F8650,
williamr@2
   299
williamr@2
   300
    /** 
williamr@2
   301
    * Filter service class. 
williamr@2
   302
    */
williamr@2
   303
    KAiwClassFilter = 0x101F8651,
williamr@2
   304
williamr@2
   305
    /** 
williamr@2
   306
    * Menu service class (offers menu based services).
williamr@2
   307
    */
williamr@2
   308
    KAiwClassMenu = 0x101F8652,
williamr@2
   309
williamr@2
   310
    /** 
williamr@2
   311
    * Stub service class.
williamr@2
   312
    */
williamr@2
   313
    KAiwClassStub = 0x101F8653,
williamr@2
   314
       
williamr@2
   315
    /** 
williamr@2
   316
    * View service class (offers view based services).
williamr@2
   317
    */
williamr@2
   318
    KAiwClassView = 0x101F8654,
williamr@2
   319
williamr@2
   320
    /** 
williamr@2
   321
    * This class is for R&D purposes.  
williamr@2
   322
    */
williamr@2
   323
    KAiwClassDebug = 0x101F866B
williamr@2
   324
    };
williamr@2
   325
williamr@2
   326
williamr@2
   327
/**
williamr@2
   328
* Event codes. To be used with HandleNotifyL method.
williamr@2
   329
*/
williamr@2
   330
enum
williamr@2
   331
    {
williamr@2
   332
    /**
williamr@2
   333
    * Asynchronous service informs consumer to prepare itself for 
williamr@2
   334
    * action. 
williamr@2
   335
    */
williamr@2
   336
    KAiwEventStarted = 1,
williamr@2
   337
williamr@2
   338
    /**
williamr@2
   339
    * Asynchronous service request completed.
williamr@2
   340
    */
williamr@2
   341
    KAiwEventCompleted = 2,
williamr@2
   342
williamr@2
   343
    /**
williamr@2
   344
    * Asynchronous service request canceled.
williamr@2
   345
    */
williamr@2
   346
    KAiwEventCanceled = 3,
williamr@2
   347
    
williamr@2
   348
    /**
williamr@2
   349
    * Error during asynchronous service request.
williamr@2
   350
    */
williamr@2
   351
    KAiwEventError = 4,
williamr@2
   352
    
williamr@2
   353
    /**
williamr@2
   354
    * Relates to KAiwOptOutParamCheck.
williamr@2
   355
    */
williamr@2
   356
    KAiwEventOutParamCheck = 5,
williamr@2
   357
    
williamr@2
   358
    /**
williamr@2
   359
    * Relates to KAiwOptInParamCheck.
williamr@2
   360
    */
williamr@2
   361
    KAiwEventInParamCheck = 6,
williamr@2
   362
    
williamr@2
   363
    /**
williamr@2
   364
    * Provider informs consumer that service is no longer available or 
williamr@2
   365
    * has stopped.
williamr@2
   366
    */
williamr@2
   367
    KAiwEventStopped = 7,
williamr@2
   368
    
williamr@2
   369
    /**
williamr@2
   370
    * Provider asks consumer whether Exit can be done (needed at least in 
williamr@2
   371
    * embedded use cases where server application offers Exit possibility 
williamr@2
   372
    * to end user, but consumer can not allow Exit due to fact that for
williamr@2
   373
    * example network connections owned by consumer are open and they need 
williamr@2
   374
    * to be kept alive).    
williamr@2
   375
    */
williamr@2
   376
    KAiwEventQueryExit = 8
williamr@2
   377
    };
williamr@2
   378
    
williamr@2
   379
// ============================================================================
williamr@2
   380
// Menu item flags for AIW consumers.   
williamr@2
   381
// ============================================================================ 
williamr@2
   382
/** 
williamr@2
   383
 * Always keep the provider menu items in a submenu. 
williamr@2
   384
 */
williamr@2
   385
#define AIW_CASCADE_ID               0x01010001
williamr@2
   386
williamr@2
   387
/** 
williamr@2
   388
 * Menu item is placed intelligently either to the main level or a submenu. 
williamr@2
   389
 */
williamr@2
   390
#define AIW_INTELLIGENT_CASCADE_ID   0x01010010
williamr@2
   391
williamr@2
   392
/** 
williamr@2
   393
 * Consumer defines the menu title. 
williamr@2
   394
 */
williamr@2
   395
#define AIW_LOCK_SUBMENU_TITLE       0x00000020
williamr@2
   396
williamr@2
   397
// ============================================================================
williamr@2
   398
// Criteria item flags for AIW consumers.    
williamr@2
   399
// ============================================================================
williamr@2
   400
/** 
williamr@2
   401
 * Criteria item loadOptions bit, only providers in ROM are accepted. 
williamr@2
   402
 */
williamr@2
   403
#define AIW_OPTIONS_ROM_ONLY         0x01
williamr@2
   404
williamr@2
   405
// ============================================================================
williamr@2
   406
// Menu item flags for AIW providers.
williamr@2
   407
// ============================================================================
williamr@2
   408
/** 
williamr@2
   409
 * For providers only: Provider suggests the submenu title. 
williamr@2
   410
 */
williamr@2
   411
#define AIW_SUBMENU_TITLE            0x0ff11012
williamr@2
   412
williamr@2
   413
#endif // AIW_COMMON_HRH
williamr@2
   414
williamr@2
   415
// End of file
williamr@2
   416
williamr@2
   417