Jack2  1.9.10
JackSession.h
00001 /*
00002     Copyright (C) 2001 Paul Davis
00003     Copyright (C) 2004 Jack O'Quin
00004     Copyright (C) 2010 Torben Hohn
00005 
00006     This program is free software; you can redistribute it and/or modify
00007     it under the terms of the GNU Lesser General Public License as published by
00008     the Free Software Foundation; either version 2.1 of the License, or
00009     (at your option) any later version.
00010 
00011     This program is distributed in the hope that it will be useful,
00012     but WITHOUT ANY WARRANTY; without even the implied warranty of
00013     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014     GNU Lesser General Public License for more details.
00015 
00016     You should have received a copy of the GNU Lesser General Public License
00017     along with this program; if not, write to the Free Software
00018     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00019 */
00020 
00021 #ifndef __jack_session_int_h__
00022 #define __jack_session_int_h__
00023 
00024 #include <stdint.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 enum JackSessionEventType {
00031     JackSessionSave = 1,
00032     JackSessionSaveAndQuit = 2,
00033     JackSessionSaveTemplate = 3
00034 };
00035 
00036 typedef enum JackSessionEventType jack_session_event_type_t;
00037 
00038 enum JackSessionFlags {
00039     JackSessionSaveError = 0x01,
00040     JackSessionNeedTerminal = 0x02
00041 };
00042 
00043 typedef enum JackSessionFlags jack_session_flags_t;
00044 
00045 struct _jack_session_event {
00046     jack_session_event_type_t type;
00047     const char *session_dir;
00048     const char *client_uuid;
00049     char *command_line;
00050     jack_session_flags_t flags;
00051     uint32_t future;
00052 };
00053 
00054 typedef struct _jack_session_event jack_session_event_t;
00055 
00056 typedef void (*JackSessionCallback)(jack_session_event_t *event,
00057                                     void                 *arg);
00058 
00059 typedef struct  {
00060         const char           *uuid;
00061         const char           *client_name;
00062         const char           *command;
00063         jack_session_flags_t  flags;
00064 } jack_session_command_t;
00065 
00066 #ifdef __cplusplus
00067 }
00068 #endif
00069 #endif