2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* $XConsortium: Queue.h /main/3 1995/11/06 09:47:44 rswiston $ */
25 * (c) Copyright 1993, 1994 Hewlett-Packard Company *
26 * (c) Copyright 1993, 1994 International Business Machines Corp. *
27 * (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
28 * (c) Copyright 1993, 1994 Novell, Inc. *
35 #include "dtprintinfomsg.h"
38 extern const char *QUEUE;
41 extern const char *START_QUEUE;
42 extern const char *STOP_QUEUE;
44 extern const char *START_PRINTING;
45 extern const char *STOP_PRINTING;
49 extern const char *ICON_NAME;
50 extern const char *PRINTER_QUEUE;
51 extern const char *QUEUE_DEVICE;
54 extern const char *GET_QUEUE_STATUS;
55 extern const char *GET_DEVICE_STATUS;
57 class Queue : public BaseObj {
59 friend int Start(BaseObj *, char **output, BaseObj *requestor);
60 friend int Stop(BaseObj *, char **output, BaseObj *requestor);
62 friend int StartPrint(BaseObj *, char **output, BaseObj *requestor);
63 friend int StopPrint(BaseObj *, char **output, BaseObj *requestor);
68 static int Start(BaseObj *, char **output, BaseObj *requestor);
69 static int Stop(BaseObj *, char **output, BaseObj *requestor);
71 static int StartPrint(BaseObj *, char **output, BaseObj *requestor);
72 static int StopPrint(BaseObj *, char **output, BaseObj *requestor);
75 boolean _loaded_attributes;
78 void LoadAttributes(int numAttributes, Attribute **attributes);
79 void ParseOutput(char *, int);
81 void ProcessJobs(char *jobs = NULL);
94 Queue(BaseObj *parent, char *name);
98 const char *RemotePrinter();
100 char *Device(int index = 0);
104 boolean RemoteUp() { return remote_up; }
105 void ParseRemoteStatus(char *output);
107 virtual const char *const ObjectClassName() { return QUEUE; }