binary compatibility issues in kdelibs

Simon Hausmann hausmann at kde.org
Wed Jul 10 08:48:44 BST 2002


On Wed, Jul 10, 2002 at 09:38:36AM +0200, Michael Goffioul wrote:
> > Index: kdeprint/kmjobmanager.h
> > ===================================================================
> > RCS file: /home/kde/kdelibs/kdeprint/kmjobmanager.h,v
> > retrieving revision 1.11
> > retrieving revision 1.13
> > diff -u -p -b -r1.11 -r1.13
> > --- kdeprint/kmjobmanager.h     2001/11/27 16:32:44     1.11
> > +++ kdeprint/kmjobmanager.h     2002/05/23 16:55:13     1.13
> > @@ -71,7 +75,7 @@ protected:
> >         void removeDiscardedJobs();
> > 
> >  protected:
> > -       virtual bool listJobs(const QString& prname, JobType type);
> > +       virtual bool listJobs(const QString& prname, JobType type, int limit = 0);
> >         virtual bool sendCommandSystemJob(const QPtrList<KMJob>& jobs, int action, const QString& arg = QString::null);
> >         bool sendCommandThreadJob(const QPtrList<KMJob>& jobs, int action, const QString& arg = QString::null);
> > 
> > One can also argue about this one. While the class is public it is
> > commonly used as singleton, so it's unlikely that someone inherits
> > from it. But still.
> > 
> > The same applies to KMManager.
> 
> Those 2 classes are not intended to be used by 3rd party applications
> and to my knowledge, they are not used. The headers are only installed
> to allow me to split KDEPrint between kdelibs and kdebase (and maybe
> other locations). But those classes are only really used by KDEPrint.
> So if you upgrade simultaneously kdelibs and kdebase, you shouldn't
> get any problem. The only real "public" header is kprinter.h, which
> I think is still BC.
> Anyway, if this is a problem, I can revert the changes and remove the
> added features.

I guess that is okay. Might be worth adding a note to the header
file like TT does and possibly marking the class as @internal.

Simon
-------------- next part --------------
Index: kmjobmanager.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/kmjobmanager.h,v
retrieving revision 1.13
diff -u -p -r1.13 kmjobmanager.h
--- kmjobmanager.h	2002/05/23 16:55:13	1.13
+++ kmjobmanager.h	2002/07/10 07:48:28
@@ -32,6 +32,21 @@ class KMThreadJob;
 class KActionCollection;
 class KAction;
 
+//
+//  W A R N I N G
+//  -------------
+//
+// This file is not part of the kdeprint API.  It exists for the convenience
+// of a number of KDE sources files.  This header file may change from
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+/*
+ * @internal
+ */
 class KMJobManager : public QObject
 {
 	Q_OBJECT
Index: kmmanager.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/kmmanager.h,v
retrieving revision 1.25
diff -u -p -r1.25 kmmanager.h
--- kmmanager.h	2002/06/16 17:54:39	1.25
+++ kmmanager.h	2002/07/10 07:48:28
@@ -36,6 +36,21 @@ class QWidget;
 class KActionCollection;
 class PrinterFilter;
 
+//
+//  W A R N I N G
+//  -------------
+//
+// This file is not part of the kdeprint API.  It exists for the convenience
+// of a number of KDE sources files.  This header file may change from
+// version to version without notice, or even be removed.
+//
+// We mean it.
+//
+//
+
+/*
+ * @internal
+ */
 class KMManager : public QObject
 {
 	Q_OBJECT


More information about the kde-core-devel mailing list