ekiga r5899 - in trunk: . lib/engine lib/engine/display lib/engine/display/skel src src/endpoints
- From: mschneid svn gnome org
- To: svn-commits-list gnome org
- Subject: ekiga r5899 - in trunk: . lib/engine lib/engine/display lib/engine/display/skel src src/endpoints
- Date: Fri, 11 Jan 2008 19:09:10 +0000 (GMT)
Author: mschneid
Date: Fri Jan 11 19:09:09 2008
New Revision: 5899
URL: http://svn.gnome.org/viewvc/ekiga?rev=5899&view=rev
Log:
First shot at a display core and manager.
Added:
trunk/lib/engine/display/
trunk/lib/engine/display/Makefile.am
trunk/lib/engine/display/skel/
trunk/lib/engine/display/skel/Makefile.am
trunk/lib/engine/display/skel/display-core.cpp
trunk/lib/engine/display/skel/display-core.h
trunk/lib/engine/display/skel/display-info.h
trunk/lib/engine/display/skel/display-manager.h
Modified:
trunk/ChangeLog
trunk/configure.ac
trunk/lib/engine/Makefile.am
trunk/lib/engine/engine.cpp
trunk/src/Makefile.am
trunk/src/endpoints/opal-main.cpp
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Fri Jan 11 19:09:09 2008
@@ -684,6 +684,8 @@
lib/engine/presence/skel/Makefile
lib/engine/protocol/Makefile
lib/engine/protocol/skel/Makefile
+lib/engine/display/Makefile
+lib/engine/display/skel/Makefile
lib/engine/gui/Makefile
lib/engine/gui/gtk-core/Makefile
lib/engine/gui/gtk-frontend/Makefile
Modified: trunk/lib/engine/Makefile.am
==============================================================================
--- trunk/lib/engine/Makefile.am (original)
+++ trunk/lib/engine/Makefile.am Fri Jan 11 19:09:09 2008
@@ -1,4 +1,4 @@
-SUBDIRS = framework addressbook presence gui protocol
+SUBDIRS = framework addressbook presence gui protocol display
noinst_LTLIBRARIES = libekiga_engine.la
@@ -14,7 +14,8 @@
-I$(top_srcdir)/lib/engine/addressbook/ldap \
-I$(top_srcdir)/lib/engine/presence/skel \
-I$(top_srcdir)/lib/engine/presence/avahi \
- -I$(top_srcdir)/lib/engine/presence/local-roster
+ -I$(top_srcdir)/lib/engine/presence/local-roster \
+ -I$(top_srcdir)/lib/engine/display/skel
libekiga_engine_la_SOURCES = engine.h engine.cpp
Added: trunk/lib/engine/display/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/Makefile.am Fri Jan 11 19:09:09 2008
@@ -0,0 +1 @@
+SUBDIRS = skel
\ No newline at end of file
Added: trunk/lib/engine/display/skel/Makefile.am
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/Makefile.am Fri Jan 11 19:09:09 2008
@@ -0,0 +1,16 @@
+noinst_LTLIBRARIES = libgmdisplay.la
+
+display_dir = $(top_srcdir)/lib/engine/display/skel
+
+AM_CXXFLAGS = $(SIGC_CFLAGS)
+
+INCLUDES = \
+ -I$(top_srcdir)/lib/engine/include \
+ -I$(top_srcdir)/lib/engine/framework \
+ -I$(top_srcdir)/lib/engine/display/skel
+
+libgmdisplay_la_SOURCES = \
+ $(display_dir)/display-core.h \
+ $(display_dir)/display-core.cpp
+
+libgmdisplay_la_LDFLAGS = -export-dynamic -no-undefined $(SIGC_LIBS)
Added: trunk/lib/engine/display/skel/display-core.cpp
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/display-core.cpp Fri Jan 11 19:09:09 2008
@@ -0,0 +1,135 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2007 Damien Sandras
+
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version. This program is distributed in the hope
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ * display-core.cpp - description
+ * ------------------------------------------
+ * begin : written in 2007 by Matthias Schneider
+ * copyright : (c) 2007 by Matthias Schneider
+ * description : declaration of the interface of a display core.
+ * A display core manages DisplayManagers.
+ *
+ */
+
+#include <iostream>
+#include <sstream>
+
+#include "config.h"
+
+#include "display-core.h"
+#include "display-manager.h"
+
+
+using namespace Ekiga;
+
+
+void DisplayCore::add_manager (DisplayManager &manager)
+{
+ managers.insert (&manager);
+ manager_added.emit (manager);
+
+ manager.display_type_changed.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_display_type_changed), &manager));
+ manager.fullscreen_mode_changed.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_fullscreen_mode_changed), &manager));
+ manager.size_changed.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_size_changed), &manager));
+ manager.logo_update_required.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_logo_update_required), &manager));
+ manager.video_info_update_required.connect (sigc::bind (sigc::mem_fun (this, &DisplayCore::on_video_info_update_required), &manager));
+}
+
+
+void DisplayCore::visit_managers (sigc::slot<void, DisplayManager &> visitor)
+{
+ for (std::set<DisplayManager *>::iterator iter = managers.begin ();
+ iter != managers.end ();
+ iter++)
+ visitor (*(*iter));
+}
+
+
+void DisplayCore::start ()
+{
+ for (std::set<DisplayManager *>::iterator iter = managers.begin ();
+ iter != managers.end ();
+ iter++) {
+ (*iter)->start ();
+ }
+}
+
+void DisplayCore::stop ()
+{
+ for (std::set<DisplayManager *>::iterator iter = managers.begin ();
+ iter != managers.end ();
+ iter++) {
+ (*iter)->stop ();
+ }
+}
+
+void DisplayCore::setFrameData (unsigned width,
+ unsigned height,
+ const char *data,
+ bool local,
+ int devices_nbr)
+{
+ for (std::set<DisplayManager *>::iterator iter = managers.begin ();
+ iter != managers.end ();
+ iter++) {
+ (*iter)->setFrameData (width, height, data, local, devices_nbr);
+ }
+}
+
+void DisplayCore::setVideoInfo (const DisplayInfo & newVideoInfo)
+{
+ for (std::set<DisplayManager *>::iterator iter = managers.begin ();
+ iter != managers.end ();
+ iter++) {
+ (*iter)->setVideoInfo (newVideoInfo);
+ }
+}
+
+
+void DisplayCore::on_display_type_changed (DisplayMode display, DisplayManager *manager)
+{
+ display_type_changed.emit (*manager, display);
+}
+
+void DisplayCore::on_fullscreen_mode_changed ( FSToggle_new toggle, DisplayManager *manager)
+{
+ fullscreen_mode_changed.emit (*manager, toggle);
+}
+
+void DisplayCore::on_size_changed ( unsigned width, unsigned height, DisplayManager *manager)
+{
+ size_changed.emit (*manager, width, height);
+}
+
+void DisplayCore::on_logo_update_required (DisplayManager *manager)
+{
+ logo_update_required.emit (*manager);
+}
+
+void DisplayCore::on_video_info_update_required (DisplayManager *manager)
+{
+ video_info_update_required.emit (*manager);
+}
Added: trunk/lib/engine/display/skel/display-core.h
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/display-core.h Fri Jan 11 19:09:09 2008
@@ -0,0 +1,135 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2007 Damien Sandras
+
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version. This program is distributed in the hope
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ * display-core.h - description
+ * ------------------------------------------
+ * begin : written in 2007 by Matthias Schneider
+ * copyright : (c) 2007 by Matthias Schneider
+ * description : declaration of the interface of a display core.
+ * A display core manages DisplayManagers.
+ *
+ */
+
+#ifndef __DISPLAY_CORE_H__
+#define __DISPLAY_CORE_H__
+
+#include "services.h"
+
+#include "display-info.h"
+
+#include <sigc++/sigc++.h>
+#include <set>
+#include <map>
+
+namespace Ekiga {
+ class DisplayManager;
+
+ class DisplayCore
+ : public Service
+ {
+
+ public:
+
+ /* The constructor
+ */
+ DisplayCore () {}
+
+ /* The destructor
+ */
+ ~DisplayCore () {}
+
+
+ /*** Service Implementation ***/
+
+ /** Returns the name of the service.
+ * @return The service name.
+ */
+ const std::string get_name () const
+ { return "display-core"; }
+
+
+ /** Returns the description of the service.
+ * @return The service description.
+ */
+ const std::string get_description () const
+ { return "\tDisplay Core managing Display Manager objects"; }
+
+
+ /** Adds a DisplayManager to the DisplayCore service.
+ * @param The manager to be added.
+ */
+ void add_manager (DisplayManager &manager);
+
+ /** Triggers a callback for all Ekiga::DisplayManager sources of the
+ * DisplayCore service.
+ */
+ void visit_managers (sigc::slot<void, DisplayManager &> visitor);
+
+ /** This signal is emitted when a Ekiga::DisplayManager has been
+ * added to the DisplayCore Service.
+ */
+ sigc::signal<void, DisplayManager &> manager_added;
+
+
+ /*** Display Management ***/
+
+ void start ();
+
+ void stop ();
+
+ void setFrameData (unsigned width,
+ unsigned height,
+ const char *data,
+ bool local,
+ int devices_nbr);
+
+ void setVideoInfo (const DisplayInfo & newVideoInfo);
+
+ /*** Display Related Signals ***/
+
+ /** See display-manager.h for the API
+ */
+ sigc::signal<void, DisplayManager &, DisplayMode> display_type_changed; /* gm_main_window_set_display_type */
+ sigc::signal<void, DisplayManager &, FSToggle_new> fullscreen_mode_changed; /* gm_main_window_toggle_fullscreen */
+ sigc::signal<void, DisplayManager &, unsigned, unsigned> size_changed; /* gm_main_window_set_resized_video_widget */
+ sigc::signal<void, DisplayManager &> logo_update_required; /* gm_main_window_update_logo */
+ sigc::signal<void, DisplayManager &> video_info_update_required; /* gm_main_window_update_zoom_display */
+// sigc::signal<void, DisplayManager &, VideoAccelStatus> update_video_accel_status; /* gm_main_window_update_video_accel_status */
+
+
+ private:
+ void on_display_type_changed (DisplayMode display, DisplayManager *manager);
+ void on_fullscreen_mode_changed (FSToggle_new toggle, DisplayManager *manager);
+ void on_size_changed ( unsigned width, unsigned height, DisplayManager *manager);
+ void on_logo_update_required (DisplayManager *manager);
+ void on_video_info_update_required (DisplayManager *manager);
+
+ std::set<DisplayManager *> managers;
+ };
+};
+
+#endif
Added: trunk/lib/engine/display/skel/display-info.h
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/display-info.h Fri Jan 11 19:09:09 2008
@@ -0,0 +1,160 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2007 Damien Sandras
+
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version. This program is distributed in the hope
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ * display-info.h - description
+ * ------------------------------------------
+ * begin : written in 2007 by Matthias Schneider
+ * copyright : (c) 2007 by Matthias Schneider
+ * description : declaration of structs and classes used for communication
+ * with the DisplayManagers
+ *
+ */
+
+#ifndef __DISPLAY_INFO_H__
+#define __DISPLAY_INFO_H__
+
+#include "X11/Xlib.h"
+#ifdef None
+#undef None
+#endif
+
+namespace Ekiga {
+ /* Video modes */
+ typedef enum {
+
+ LOCAL_VIDEO,
+ REMOTE_VIDEO,
+ PIP,
+ PIP_WINDOW,
+ FULLSCREEN,
+ UNSET
+ } DisplayMode;
+
+ /* Toggle operations for Fullscreen */
+ typedef enum {
+
+ ON,
+ OFF,
+ TOGGLE
+ } FSToggle_new;
+
+ /* Video Acceleration Status */
+ typedef enum {
+
+ NONE,
+ REMOTE_ONLY,
+ ALL,
+ NO_VIDEO
+ } VideoAccelStatus_new; //FIXME
+
+
+ typedef struct {
+ unsigned rxFPS;
+ unsigned rxWidth;
+ unsigned rxHeight;
+ unsigned txFPS;
+ unsigned txWidth;
+ unsigned txHeight;
+ VideoAccelStatus_new videoAccelStatus;
+ } VideoStats_new; //FIXME
+
+ class DisplayInfo
+ {
+ public:
+ DisplayInfo() {
+ widgetInfoSet = false;
+ x = 0;
+ y = 0;
+ #ifdef WIN32
+ hwnd = 0;
+ #else
+ gc = 0;
+ window = 0;
+ xdisplay = NULL;
+ #endif
+
+ gconfInfoSet = false;
+ onTop = false;
+ disableHwAccel = false;
+ allowPipSwScaling = true;
+ swScalingAlgorithm = 0;
+
+ display = UNSET;
+ zoom = 0;
+ };
+
+ void operator= ( const DisplayInfo& rhs) {
+
+ if (rhs.widgetInfoSet) {
+ widgetInfoSet = rhs.widgetInfoSet;
+ x = rhs.x;
+ y = rhs.y;
+ #ifdef WIN32
+ hwnd = rhs.hwnd;
+ #else
+ gc = rhs.gc;
+ window = rhs.window;
+ xdisplay = rhs.xdisplay;
+ #endif
+ }
+
+ if (rhs.gconfInfoSet) {
+ gconfInfoSet = rhs.gconfInfoSet;
+ onTop = rhs.onTop;
+ disableHwAccel = rhs.disableHwAccel;
+ allowPipSwScaling = rhs.allowPipSwScaling;
+ swScalingAlgorithm = rhs.swScalingAlgorithm;
+ }
+ if (rhs.display != UNSET) display = rhs.display;
+ if (rhs.zoom != 0) zoom = rhs.zoom;
+ };
+
+ bool widgetInfoSet;
+ int x;
+ int y;
+
+ #ifdef WIN32
+ HWND hwnd;
+ #else
+ GC gc;
+ Window window;
+ Display* xdisplay;
+ #endif
+
+ bool gconfInfoSet;
+ bool onTop;
+ bool disableHwAccel;
+ bool allowPipSwScaling;
+ unsigned int swScalingAlgorithm;
+
+ DisplayMode display;
+ unsigned int zoom;
+ };
+
+};
+
+#endif
Added: trunk/lib/engine/display/skel/display-manager.h
==============================================================================
--- (empty file)
+++ trunk/lib/engine/display/skel/display-manager.h Fri Jan 11 19:09:09 2008
@@ -0,0 +1,97 @@
+
+/*
+ * Ekiga -- A VoIP and Video-Conferencing application
+ * Copyright (C) 2000-2007 Damien Sandras
+
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version. This program is distributed in the hope
+ * that it will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Ekiga is licensed under the GPL license and as a special exception, you
+ * have permission to link or otherwise combine this program with the
+ * programs OPAL, OpenH323 and PWLIB, and distribute the combination, without
+ * applying the requirements of the GNU GPL to the OPAL, OpenH323 and PWLIB
+ * programs, as long as you do follow the requirements of the GNU GPL for all
+ * the rest of the software thus combined.
+ */
+
+
+/*
+ * display-manager.h - description
+ * ------------------------------------------
+ * begin : written in 2007 by Matthias Schneider
+ * copyright : (c) 2007 by Matthias Schneider
+ * description : Declaration of the interface of a display manager
+ * implementation backend.
+ *
+ */
+
+
+#ifndef __DISPLAY_MANAGER_H__
+#define __DISPLAY_MANAGER_H__
+
+#include "display-core.h"
+
+namespace Ekiga {
+
+ class DisplayManager
+ {
+
+ public:
+
+ /* The constructor
+ */
+ DisplayManager () {}
+
+ /* The destructor
+ */
+ ~DisplayManager () {}
+
+
+ /*
+ * DISPLAY MANAGEMENT
+ */
+
+ /** Create a call based on the remote uri given as parameter
+ * @param: An uri
+ * @return: true if a Ekiga::Call could be created
+ */
+ virtual void start () {
+ videoStats.rxWidth = videoStats.rxWidth = videoStats.rxFPS = 0;
+ videoStats.txWidth = videoStats.txWidth = videoStats.txFPS = 0;
+ videoStats.videoAccelStatus = NONE;
+ };
+
+ virtual void stop () { };
+
+ virtual void setFrameData (unsigned width,
+ unsigned height,
+ const char *data,
+ bool local,
+ int devices_nbr) = 0;
+
+ virtual void setVideoInfo (const DisplayInfo & newVideoInfo) { };
+
+ sigc::signal<void, DisplayMode> display_type_changed; /* gm_main_window_set_display_type */
+ sigc::signal<void, FSToggle_new> fullscreen_mode_changed; /* gm_main_window_toggle_fullscreen */
+ sigc::signal<void, unsigned, unsigned> size_changed; /* gm_main_window_set_resized_video_widget */
+ sigc::signal<void> logo_update_required; /* gm_main_window_update_logo */
+ sigc::signal<void> video_info_update_required; /* gm_main_window_update_zoom_display */
+// sigc::signal<void, DisplayManager &, VideoAccelStatus> update_video_accel_status; /* gm_main_window_update_video_accel_status */
+
+ protected:
+ virtual void GetVideoInfo (DisplayInfo & getVideoInfo) { };
+
+ VideoStats_new videoStats;
+ };
+};
+
+#endif
Modified: trunk/lib/engine/engine.cpp
==============================================================================
--- trunk/lib/engine/engine.cpp (original)
+++ trunk/lib/engine/engine.cpp Fri Jan 11 19:09:09 2008
@@ -44,6 +44,7 @@
#include "presence-core.h"
#include "contact-core.h"
#include "call-core.h"
+#include "display-core.h"
#include "history-main.h"
#include "local-roster-main.h"
#include "local-roster-bridge.h"
@@ -75,10 +76,12 @@
Ekiga::PresenceCore *presence_core = new Ekiga::PresenceCore;
Ekiga::ContactCore *contact_core = new Ekiga::ContactCore;
Ekiga::CallCore *call_core = new Ekiga::CallCore;
+ Ekiga::DisplayCore *display_core = new Ekiga::DisplayCore;
core->add (*contact_core);
core->add (*presence_core);
core->add (*call_core);
+ core->add (*display_core);
core->add (*runtime);
if (!opal_init (*core, &argc, &argv)) {
Modified: trunk/src/Makefile.am
==============================================================================
--- trunk/src/Makefile.am (original)
+++ trunk/src/Makefile.am Fri Jan 11 19:09:09 2008
@@ -14,6 +14,7 @@
-I$(top_srcdir)/lib/engine/presence/skel \
-I$(top_srcdir)/lib/engine/protocol/skel \
-I$(top_srcdir)/lib/engine/protocol/sip \
+ -I$(top_srcdir)/lib/engine/display/skel \
-I$(top_srcdir)/lib/engine/framework \
-I$(top_builddir) \
$(GNOME_INCLUDEDIR) \
Modified: trunk/src/endpoints/opal-main.cpp
==============================================================================
--- trunk/src/endpoints/opal-main.cpp (original)
+++ trunk/src/endpoints/opal-main.cpp Fri Jan 11 19:09:09 2008
@@ -39,6 +39,7 @@
#include "contact-core.h"
#include "presence-core.h"
#include "call-core.h"
+#include "display-core.h"
#include "manager.h"
#include "ekiga.h"
@@ -62,13 +63,16 @@
Ekiga::ContactCore *contact_core = NULL;
Ekiga::PresenceCore *presence_core = NULL;
Ekiga::CallCore *call_core = NULL;
+ Ekiga::DisplayCore *display_core = NULL;
GMManager *manager = new GMManager (core);
GMSIPEndpoint *sipEP = manager->GetSIPEndpoint ();
+ //GMDisplayManager *displayManager = new GMDisplayManager_X(core);
contact_core = dynamic_cast<Ekiga::ContactCore *> (core.get ("contact-core"));
presence_core = dynamic_cast<Ekiga::PresenceCore *> (core.get ("presence-core"));
call_core = dynamic_cast<Ekiga::CallCore *> (core.get ("call-core"));
+ display_core = dynamic_cast<Ekiga::DisplayCore *> (core.get ("display-core"));
call_core->add_manager (*manager);
core.add (*manager); // FIXME temporary
@@ -87,5 +91,12 @@
else
return false;
+/* if (display_core != NULL)
+ display_core->add_manager (*displayManager);
+ else
+ return false;
+*/
+
+
return result;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]