ekiga r7592 - in trunk/lib/engine: . components/null-audiooutput



Author: jpuydt
Date: Thu Jan 22 13:01:22 2009
New Revision: 7592
URL: http://svn.gnome.org/viewvc/ekiga?rev=7592&view=rev

Log:
The null audio output code now uses kickstart

Modified:
   trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.cpp
   trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.h
   trunk/lib/engine/engine.cpp

Modified: trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.cpp
==============================================================================
--- trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.cpp	(original)
+++ trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.cpp	Thu Jan 22 13:01:22 2009
@@ -40,22 +40,40 @@
 #include "audiooutput-core.h"
 #include "audiooutput-manager-null.h"
 
-bool
-audiooutput_null_init (Ekiga::ServiceCore &core,
-	    int */*argc*/,
-	    char **/*argv*/[])
+struct NULLAUDIOOUTPUTSpark: public Ekiga::Spark
 {
-  bool result = false;
-  gmref_ptr<Ekiga::AudioOutputCore> audiooutput_core
-    = core.get ("audiooutput-core");
+  NULLAUDIOOUTPUTSpark (): result(false)
+  {}
 
-  if (audiooutput_core) {
+  bool try_initialize_more (Ekiga::ServiceCore& core,
+			    int* /*argc*/,
+			    char** /*argv*/[])
+  {
+    gmref_ptr<Ekiga::AudioOutputCore> audiooutput_core = core.get ("audiooutput-core");
 
-    GMAudioOutputManager_null *audiooutput_manager = new GMAudioOutputManager_null(core);
+    if (audiooutput_core) {
 
-    audiooutput_core->add_manager (*audiooutput_manager);
-    result = true;
+      GMAudioOutputManager_null *audiooutput_manager = new GMAudioOutputManager_null(core);
+
+      audiooutput_core->add_manager (*audiooutput_manager);
+      result = true;
+    }
+
+    return result;
   }
 
-  return result;
+  Ekiga::Spark::state get_state () const
+  { return result?FULL:BLANK; }
+
+  const std::string get_name () const
+  { return "NULLAUDIOOUTPUT"; }
+
+  bool result;
+};
+
+void
+audiooutput_null_init (Ekiga::KickStart& kickstart)
+{
+  gmref_ptr<Ekiga::Spark> spark(new NULLAUDIOOUTPUTSpark);
+  kickstart.add_spark (spark);
 }

Modified: trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.h
==============================================================================
--- trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.h	(original)
+++ trunk/lib/engine/components/null-audiooutput/audiooutput-main-null.h	Thu Jan 22 13:01:22 2009
@@ -1,48 +1,46 @@
-
-/* Ekiga -- A VoIP and Video-Conferencing application
+
+/* Ekiga -- A VoIP and Video-Conferencing application
  * Copyright (C) 2000-2009 Damien Sandras <dsandras seconix com>
- *
- * 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.
- */
-
-
-/*
- *                         audiooutput-main-null.h  -  description
- *                         ------------------------------------------
- *   begin                : written in 2008 by Matthias Schneider
- *   copyright            : (c) 2008 by Matthias Schneider
- *   description          : code to hook the NULL audiooutput manager 
- *                          into the main program
- *
- */
-
-#ifndef __AUDIOOUTPUT_MAIN_NULL_H__
-#define __AUDIOOUTPUT_MAIN_NULL_H__
-
-#include "services.h"
-
-bool audiooutput_null_init (Ekiga::ServiceCore &core,
-  	   	            int *argc,
-		            char **argv[]);
-
-#endif
+ *
+ * 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.
+ */
+
+
+/*
+ *                         audiooutput-main-null.h  -  description
+ *                         ------------------------------------------
+ *   begin                : written in 2008 by Matthias Schneider
+ *   copyright            : (c) 2008 by Matthias Schneider
+ *   description          : code to hook the NULL audiooutput manager 
+ *                          into the main program
+ *
+ */
+
+#ifndef __AUDIOOUTPUT_MAIN_NULL_H__
+#define __AUDIOOUTPUT_MAIN_NULL_H__
+
+#include "kickstart.h"
+
+void audiooutput_null_init (Ekiga::KickStart& kickstart);
+
+#endif

Modified: trunk/lib/engine/engine.cpp
==============================================================================
--- trunk/lib/engine/engine.cpp	(original)
+++ trunk/lib/engine/engine.cpp	Thu Jan 22 13:01:22 2009
@@ -191,10 +191,7 @@
     return;
   }
 
-  if (!audiooutput_null_init (*service_core, &argc, &argv)) {
-    delete service_core;
-    return;
-  }
+  audiooutput_null_init (kickstart);
 
   videoinput_ptlib_init (kickstart);
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]