satengine/satserver/inc/SatSTypes.h
author hgs
Fri, 17 Sep 2010 17:09:13 +0300
changeset 48 78df25012fda
parent 33 8d5d7fcf9b59
permissions -rw-r--r--
201037

/*
* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). 
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: 
*     This file contains the data structure definitions
*     needed by both the server and the client interfaces at compile
*     time.
*
*
*/


#ifndef SATSTYPES_H
#define SATSTYPES_H

//  INCLUDES
#include <e32base.h>
#include <etelsat.h>
#include <msatuiobserver.h>

// CONSTANTS

// The length of the IPC data buffer.
const TInt KSatIpcBufferLength = 256;

// The size of the name buffer of SAT application.
const TInt KSatAppNameSize = 255;

// The size of the name buffer of SAT application.
const TInt KSatGetInputEntrySize = 256;

// DATA TYPES

// The query IPC data structure.
struct TSatDisplayTextV1
    {
    TUint8 iPCmdNumber;
    TBuf<KSatIpcBufferLength> iText;
    TBuf<KSatIpcBufferLength> iSimApplicationName;
    RSat::TIconId iIconId;
    TBool iSustainedText;
    TTimeIntervalSeconds iDuration;
    RSat::TClearScreenTrigger iClearScreen;
    };

// The query IPC data package.
typedef TPckg<TSatDisplayTextV1> TSatDisplayTextV1Pckg;

// The event IPC data structure.
struct TSatEventV1
    {
    TSatSEvent iEvent;
    TSatSEventStatus iStatus;
    TInt iError;
    };

// The event IPC data package.
typedef TPckg<TSatEventV1> TSatEventV1Pckg;

// The query IPC data structure.
struct TSatQueryV1
    {
    TBuf<KSatIpcBufferLength> iQueryText;
    TSatSQueryCommand iCommand;
    TBuf<KSatIpcBufferLength> iSimApplicationName;
    TBuf<KSatIpcBufferLength> iDestinationName;
    TSatAlphaIdStatus iAlphaIdStatus;
    TSatIconId iIconId;
    };

// The query IPC data package.
typedef TPckg<TSatQueryV1> TSatQueryV1Pckg;

// The query response IPC data structure.
struct TSatQueryRspV1
    {
    TSatSQueryCommand iCommand;
    TBool iAccepted;
    TInt iWgId;
    TBool iRequestedIconDisplayed;
    TBool iSessionTerminatedByUser;
    };

// The query response IPC data package.
typedef TPckg<TSatQueryRspV1> TSatQueryRspV1Pckg;

// The notification IPC data structure.
struct TSatNotificationV1
    {
    RSat::TAlphaIdBuf iText;
    TSatSNotifyCommand iCommand;
    TSatAlphaIdStatus iAlphaIdStatus;
    TSatControlResult iControlResult; // CC and MoSm
    TSatIconId iIconId;
    };
    
// The notification response IPC data package.
typedef TPckg<TSatNotificationV1> TSatNotificationV1Pckg;

// The notification IPC data structure.
struct TSatNotificationRspV1
    {
    TSatSNotifyCommand iCommand;
    TBool iAccepted;
    TInt iWgId;
    TBool iRequestedIconDisplayed;
    TBool iSessionTerminatedByUser;
    };
    
// The notification response IPC data package.
typedef TPckg<TSatNotificationRspV1> TSatNotificationRspV1Pckg;

// Types for session termination
enum TSatTerminationType
    {
    ETerminatedByCancel,
    ETerminatedByEndKey
    };

// Session termination data structure
struct TSatTermination
    {
    TSatTerminationType type;
    };

// Session termination IPC data package.
typedef TPckg<TSatTermination> TSatTerminationPckg;

#endif      // SATSTYPES_H

// End of File