mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-14 16:15:04 +00:00
Deleting old plugin classes - backcompat is broken
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14365 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
20a2aee4fb
commit
eb873d8898
@ -1,47 +0,0 @@
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - mod_cli
|
||||
* Copyright (C) 2008, Michael Giagnocavo <mgg@packetrino.com>
|
||||
*
|
||||
* Version: MPL 1.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - mod_cli
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Michael Giagnocavo <mgg@packetrino.com>
|
||||
* Portions created by the Initial Developer are Copyright (C)
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Michael Giagnocavo <mgg@packetrino.com>
|
||||
*
|
||||
* AppFunction.cs -- Base class for API functions
|
||||
*
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace FreeSWITCH
|
||||
{
|
||||
public abstract class ApiFunction
|
||||
{
|
||||
protected static bool Load() { return true; }
|
||||
|
||||
public abstract void ExecuteBackground(string args);
|
||||
|
||||
public abstract void Execute(FreeSWITCH.Native.Stream stream, FreeSWITCH.Native.Event evt, string args);
|
||||
}
|
||||
}
|
@ -1,106 +0,0 @@
|
||||
/*
|
||||
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - mod_cli
|
||||
* Copyright (C) 2008, Michael Giagnocavo <mgg@packetrino.com>
|
||||
*
|
||||
* Version: MPL 1.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application - mod_cli
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Michael Giagnocavo <mgg@packetrino.com>
|
||||
* Portions created by the Initial Developer are Copyright (C)
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Michael Giagnocavo <mgg@packetrino.com>
|
||||
*
|
||||
* AppFunction.cs -- Base class for applications
|
||||
*
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
||||
namespace FreeSWITCH
|
||||
{
|
||||
public abstract class AppFunction
|
||||
{
|
||||
protected static bool Load() { return true; }
|
||||
|
||||
protected Native.ManagedSession Session { get; private set; }
|
||||
|
||||
protected string Arguments { get; private set; }
|
||||
|
||||
public bool IsAvailable
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.Session == null) return false;
|
||||
return this.Session.Ready();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Determines if the thread used for Run will have Abort called on it on hangup. Defaults to false.</summary>
|
||||
protected virtual bool AbortOnHangup { get { return false; } }
|
||||
bool abortable = false;
|
||||
readonly object abortLock = new object();
|
||||
Thread runThread;
|
||||
internal void AbortRun()
|
||||
{
|
||||
if (!AbortOnHangup) return;
|
||||
if (runThread == Thread.CurrentThread) {
|
||||
Log.WriteLine(LogLevel.Warning, "Thread will not be aborted because Hangup was called from the Run thread.");
|
||||
return;
|
||||
}
|
||||
lock (abortLock) {
|
||||
if (abortable) {
|
||||
Log.WriteLine(LogLevel.Critical, "Aborting run thread.");
|
||||
runThread.Abort();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected Guid Uuid { get; private set; }
|
||||
|
||||
internal void RunInternal(FreeSWITCH.Native.ManagedSession session, string args)
|
||||
{
|
||||
this.Session = session;
|
||||
this.Arguments = args;
|
||||
Session.AppToAbort = this;
|
||||
try { this.Uuid = new Guid(Session.GetUuid()); }
|
||||
catch { }
|
||||
try {
|
||||
runThread = Thread.CurrentThread;
|
||||
lock (abortLock) abortable = true;
|
||||
Run();
|
||||
}
|
||||
catch (ThreadAbortException) {
|
||||
Log.WriteLine(LogLevel.Critical, "Run thread aborted.");
|
||||
Thread.ResetAbort();
|
||||
}
|
||||
finally {
|
||||
lock (abortLock) { abortable = false; }
|
||||
if (runThread.ThreadState == ThreadState.AbortRequested) {
|
||||
try { Thread.ResetAbort(); }
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract void Run();
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user