williamr@2: // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef __ASCLISESSION_H__ williamr@2: #define __ASCLISESSION_H__ williamr@2: williamr@2: // System includes williamr@2: #include williamr@2: williamr@2: // User includes williamr@2: #include williamr@2: williamr@2: // Classes referenced williamr@2: class TASShdAlarm; williamr@2: class TASCliSoundPlayDefinition; williamr@2: williamr@2: williamr@2: class RASCliSession : public RSessionBase williamr@2: /** The client-side interface to the Symbian OS alarm server. williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: { williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // CONNECT TO SERVER & VERSIONING williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C RASCliSession(); williamr@2: williamr@2: IMPORT_C TInt Connect(); williamr@2: williamr@2: IMPORT_C TVersion Version() const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // ALARM SPECIFIC FUNCTIONALITY williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C TInt AlarmAdd(TASShdAlarm& aAlarm) const; williamr@2: williamr@2: IMPORT_C TInt AlarmAdd(TASShdAlarm& aAlarm, const TDesC8& aData) const; williamr@2: williamr@2: IMPORT_C void AlarmAddWithNotification(TRequestStatus& aStatus, TASShdAlarm& aAlarm); williamr@2: williamr@2: IMPORT_C void AlarmAddWithNotification(TRequestStatus& aStatus, TASShdAlarm& aAlarm, const TDesC8& aData); williamr@2: williamr@2: IMPORT_C void AlarmNotificationCancelAndDequeue(TAlarmId aAlarmId) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmDetails(TAlarmId aAlarmId, TASShdAlarm& aAlarm) const; williamr@2: williamr@2: IMPORT_C TInt AlarmDelete(TAlarmId aAlarmId) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmCategory(TAlarmId aAlarmId, TAlarmCategory& aCategory) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmOwner(TAlarmId aAlarmId, TFullName& aThreadName) const; williamr@2: williamr@2: IMPORT_C TInt SetAlarmStatus(TAlarmId aAlarmId, TAlarmStatus aStatus) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmStatus(TAlarmId aAlarmId, TAlarmStatus& aStatus) const; williamr@2: williamr@2: IMPORT_C TInt SetAlarmDayOrTimed(TAlarmId aAlarmId, TAlarmDayOrTimed aDayOrTimed) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmDayOrTimed(TAlarmId aAlarmId, TAlarmDayOrTimed& aDayOrTimed) const; williamr@2: williamr@2: IMPORT_C TInt SetAlarmCharacteristics(TAlarmId aAlarmId, TAlarmCharacteristicsFlags aCharacteristics) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmCharacteristics(TAlarmId aAlarmId, TAlarmCharacteristicsFlags& aCharacteristics) const; williamr@2: williamr@2: IMPORT_C TInt SetClientData(const TASShdAlarm& aAlarm); williamr@2: williamr@2: IMPORT_C TInt SetAlarmDays(TAlarmId aAlarmId, TUint8 aAlarmDays) const; williamr@2: IMPORT_C TInt GetAlarmDays(TAlarmId aAlarmId, TUint8& aAlarmDays) const; williamr@2: IMPORT_C TInt SetContinuous(TAlarmId aAlarmId, TBool aContinuous) const; williamr@2: IMPORT_C TInt GetContinuous(TAlarmId aAlarmId, TBool& aContinuous) const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // ALARM DATA FUNCTIONALITY williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C TInt AlarmDataAttachL(TAlarmId aAlarmId, const TDesC8& aData) const; williamr@2: williamr@2: IMPORT_C TInt AlarmDataDetach(TAlarmId aAlarmId) const; williamr@2: williamr@2: inline TInt AlarmDataDetatch(TAlarmId aAlarmId) const; williamr@2: williamr@2: IMPORT_C TInt AlarmDataSize(TAlarmId aAlarmId) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmData(TAlarmId aAlarmId, TDes8& aSink) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmData(TAlarmId aAlarmId, HBufC8*& aSink) const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // CATEGORY-SPECIFIC FUNCTIONALITY williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C TInt SetAlarmStatusByCategory(TAlarmCategory aCategory, TAlarmStatus aStatus) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmCountForCategory(TAlarmCategory aCategory) const; williamr@2: williamr@2: IMPORT_C TInt AlarmDeleteAllByCategory(TAlarmCategory aCategory, TBool aDeleteOnlyOrphanedAlarmsInCategory) const; williamr@2: williamr@2: IMPORT_C TInt AlarmDeleteByCategory(TAlarmCategory aCategory, TDeleteType aWhatToDelete) const; williamr@2: williamr@2: IMPORT_C void GetAvailableCategoryListL(RArray& aCategories) const; williamr@2: williamr@2: IMPORT_C void GetAlarmIdListForCategoryL(TAlarmCategory aCategory, RArray& aAlarmIds) const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // MISC FUNCTIONALITY williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C TInt AlarmCountByState(TAlarmState aState) const; williamr@2: williamr@2: IMPORT_C void GetAlarmIdListByStateL(TAlarmState aState, RArray& aAlarmIds) const; williamr@2: williamr@2: IMPORT_C void GetAlarmIdListL(RArray& aAlarmIds) const; williamr@2: williamr@2: IMPORT_C TInt GetNextDueAlarmId(TAlarmId& aAlarmId) const; williamr@2: williamr@2: IMPORT_C TInt NumberOfAlarmsActiveInQueue() const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // SOUND CONTROL williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C TInt SetAlarmSoundState(TAlarmGlobalSoundState aState) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmSoundState(TAlarmGlobalSoundState& aState) const; williamr@2: williamr@2: IMPORT_C TInt SetAlarmSoundsSilentUntil(const TTime& aLocalTime) const; williamr@2: williamr@2: IMPORT_C TInt SetAlarmSoundsSilentFor(TTimeIntervalMinutes aTimeToRemainSilentFor) const; williamr@2: williamr@2: IMPORT_C TInt GetAlarmSoundsSilentUntil(TTime& aLocalTime) const; williamr@2: williamr@2: IMPORT_C TInt CancelAlarmSilence() const; williamr@2: williamr@2: IMPORT_C TBool AlarmSoundsTemporarilySilenced() const; williamr@2: williamr@2: IMPORT_C void SetAlarmPlayIntervalsL(const CArrayFix& aIntervals) const; williamr@2: williamr@2: IMPORT_C void GetAlarmPlayIntervalsL(CArrayFix& aIntervals) const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // CHANGE NOTIFICATION williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C void NotifyChange(TRequestStatus& aStatus, TAlarmId& aAlarmId); williamr@2: williamr@2: IMPORT_C void NotifyChangeCancel() const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: public: // DEBUG ONLY williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: IMPORT_C void __DbgShutDownServer() const; williamr@2: williamr@2: IMPORT_C void __DbgFailAlloc(TInt aCount) const; williamr@2: williamr@2: IMPORT_C void __DbgPreventUserNotify(TBool aShouldStop) const; williamr@2: williamr@2: IMPORT_C TInt __DbgSnoozeAlarm(TAlarmId aAlarmId, const TTime& aNewTime) const; williamr@2: williamr@2: IMPORT_C TInt __DbgSetEnvChgHandling(TBool aFlag) const; williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: private: // MEMBER DATA williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: void FetchAlarmIdsFromBufferL(RArray& aAlarmIds, TInt aBufferSize) const; williamr@2: williamr@2: CBufBase* FetchTransferBufferLC(TInt aBufferSize) const; williamr@2: williamr@2: void DoAlarmAddWithNotification(TRequestStatus& aStatus, TASShdAlarm& aAlarm, const TDesC8& aData); williamr@2: TInt DoAlarmAdd(TASShdAlarm& aAlarm, const TDesC8& aData) const; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: private: // MEMBER DATA williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: williamr@2: TPtr8 iPackage; williamr@2: TPtr8 iAlarmIdPointer; williamr@2: }; williamr@2: williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: // ----> RASCliSession (inlines) williamr@2: /////////////////////////////////////////////////////////////////////////////////////// williamr@2: inline TInt RASCliSession::AlarmDataDetatch(TAlarmId aAlarmId) const williamr@2: /** @deprecated 8.0 williamr@2: williamr@2: RASCliSession::AlarmDataDetach() should be used instead */ williamr@2: { williamr@2: return AlarmDataDetach(aAlarmId); williamr@2: }; williamr@2: williamr@2: #endif