File indexing completed on 2024-05-12 05:14:48

0001 /*
0002  *  kalarmiface.h  -  D-Bus interface to KAlarm
0003  *  Program:  kalarm
0004  *  SPDX-FileCopyrightText: 2004-2020 David Jarvie <djarvie@kde.org>
0005  *
0006  *  SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #pragma once
0010 
0011 /** @file kalarmiface.h - D-Bus interface to KAlarm */
0012 
0013 /** KAlarmIface provides a D-Bus interface for other applications to request
0014  *  KAlarm actions.
0015  */
0016 
0017 class KAlarmIface
0018 {
0019 public:
0020     /** Bit values for the @p flags parameter of "scheduleXxxx()" D-Bus calls.
0021      *  The bit values may be OR'ed together.
0022      */
0023     enum Flags
0024     {
0025         REPEAT_AT_LOGIN = 0x01,    //!< repeat the alarm at every login
0026         BEEP            = 0x02,    //!< sound an audible beep when the alarm is displayed
0027         REPEAT_SOUND    = 0x08,    //!< repeat the sound file while the alarm is displayed
0028         CONFIRM_ACK     = 0x04,    //!< closing the alarm message window requires a confirmation prompt
0029         AUTO_CLOSE      = 0x10,    //!< auto-close the alarm window after the late-cancel period
0030         EMAIL_BCC       = 0x20,    //!< send a blind copy of the email to the user
0031         DISABLED        = 0x40,    //!< set the alarm status to disabled
0032         SCRIPT          = 0x80,    //!< the command to execute is a script, not a shell command line
0033         EXEC_IN_XTERM   = 0x100,   //!< execute the command alarm in a terminal window
0034         SPEAK           = 0x200,   //!< speak the alarm message when it is displayed
0035         SHOW_IN_KORG    = 0x400,   //!< show the alarm as an event in KOrganizer
0036         DISPLAY_COMMAND = 0x800,   //!< display command output in the alarm window
0037         EXCL_HOLIDAYS   = 0x1000,  //!< don't trigger the alarm on holidays
0038         WORK_TIME_ONLY  = 0x2000,  //!< do not trigger the alarm outside working hours (or on holidays)
0039         NOTIFY          = 0x4000   //!< display the alarm message as a notification
0040     };
0041 
0042     /** Values for the @p repeatType parameter of "scheduleXxxx()" D-Bus calls. */
0043     enum RecurType
0044     {
0045         MINUTELY = 1,    //!< the repeat interval is measured in minutes
0046         DAILY    = 2,    //!< the repeat interval is measured in days
0047         WEEKLY   = 3,    //!< the repeat interval is measured in weeks
0048         MONTHLY  = 4,    //!< the repeat interval is measured in months
0049         YEARLY   = 5     //!< the repeat interval is measured in years
0050     };
0051 
0052     /** Values for the @p type parameter of "editNew()" D-Bus call. */
0053     enum AlarmType
0054     {
0055         DISPLAY = 1,    //!< create a display alarm
0056         COMMAND = 2,    //!< create a command alarm
0057         EMAIL   = 3,    //!< create an email alarm
0058         AUDIO   = 4     //!< create an audio alarm
0059     };
0060 };
0061 
0062 // vim: et sw=4: