Added Cisco Session Manager module.

Fixed session user cleanup.

git-svn-id: http://yate.null.ro/svn/yate/trunk@2622 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
paulc 2009-05-10 15:50:08 +00:00
parent 207ce16736
commit 2c66a74862
4 changed files with 297 additions and 4 deletions

View File

@ -1235,19 +1235,25 @@ void SessionManager::initSesion()
bool SessionManager::insert(SessionUser* user)
{
Lock mylock(this);
if (!user)
return false;
Lock mylock(this);
m_users.append(new UserPointer(user));
return true;
}
void SessionManager::remove(SessionUser* user)
{
Lock mylock(this);
if (!user)
return;
m_users.remove(UserPointer(user));
Lock mylock(this);
for (ObjList* obj = m_users.skipNull(); obj; obj = obj->skipNext()) {
UserPointer* u = static_cast<UserPointer*>(obj->get());
if (static_cast<SessionUser*>(*u) == user) {
obj->remove();
return;
}
}
}
// Send a PDU message if state is operational else return false

View File

@ -33,7 +33,7 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Modules", "Modules.vcproj", "{BE362993-354F-4315-B878-05E952E1D164}"
ProjectSection(ProjectDependencies) = postProject
{5F248A16-8E3D-497A-8E68-F9E08971F583} = {5F248A16-8E3D-497A-8E68-F9E08971F583}
{88C1CABC-C1AF-4888-A4A1-C0798EDB3947} = {88C1CABC-C1AF-4888-A4A1-C0798EDB3947}
{8AD176D9-C038-455F-C3A4-453D0AB610BC} = {8AD176D9-C038-455F-C3A4-453D0AB610BC}
{C296BBF2-AD56-4249-AEF6-C04B03131474} = {C296BBF2-AD56-4249-AEF6-C04B03131474}
{88C1CCEC-C1AF-4888-A4A1-C0798EDB3947} = {88C1CCEC-C1AF-4888-A4A1-C0798EDB3947}
{A9CA94EB-27BA-46FA-A585-94D36706C4D7} = {A9CA94EB-27BA-46FA-A585-94D36706C4D7}
@ -52,6 +52,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Modules", "Modules.vcproj",
{56A805CD-59D3-41AE-8992-2A2F5C99DC67} = {56A805CD-59D3-41AE-8992-2A2F5C99DC67}
{5F4005CD-2BA3-40C8-8348-726F5C99D964} = {5F4005CD-2BA3-40C8-8348-726F5C99D964}
{6E6F6DC8-4B8F-4237-9FEC-BE3BBF268558} = {6E6F6DC8-4B8F-4237-9FEC-BE3BBF268558}
{88C1CABC-C1AF-4888-A4A1-C0798EDB3947} = {88C1CABC-C1AF-4888-A4A1-C0798EDB3947}
{5F4005AA-CB7F-47C8-8598-726F5C506964} = {5F4005AA-CB7F-47C8-8598-726F5C506964}
{2F410A9D-D671-4928-7ACF-7268AF39D934} = {2F410A9D-D671-4928-7ACF-7268AF39D934}
{BA27419A-2595-49D6-B363-492B1180E885} = {BA27419A-2595-49D6-B363-492B1180E885}
@ -438,6 +439,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_queuesnotify", "_queuesnot
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_ciscosm", "_ciscosm.vcproj", "{8AD176D9-C038-455F-C3A4-453D0AB610BC}"
ProjectSection(ProjectDependencies) = postProject
{254C6F00-6DE5-44A6-AD44-ACABA8912381} = {254C6F00-6DE5-44A6-AD44-ACABA8912381}
{496A2084-FFED-4F73-8C85-170042A34F38} = {496A2084-FFED-4F73-8C85-170042A34F38}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -744,6 +751,10 @@ Global
{88C1CABC-C1AF-4888-A4A1-C0798EDB3947}.Debug|Win32.Build.0 = Debug|Win32
{88C1CABC-C1AF-4888-A4A1-C0798EDB3947}.Release|Win32.ActiveCfg = Release|Win32
{88C1CABC-C1AF-4888-A4A1-C0798EDB3947}.Release|Win32.Build.0 = Release|Win32
{8AD176D9-C038-455F-C3A4-453D0AB610BC}.Debug|Win32.ActiveCfg = Debug|Win32
{8AD176D9-C038-455F-C3A4-453D0AB610BC}.Debug|Win32.Build.0 = Debug|Win32
{8AD176D9-C038-455F-C3A4-453D0AB610BC}.Release|Win32.ActiveCfg = Release|Win32
{8AD176D9-C038-455F-C3A4-453D0AB610BC}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

274
windows/_ciscosm.vcproj Normal file
View File

@ -0,0 +1,274 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="_ciscosm"
ProjectGUID="{8AD176D9-C038-455F-C3A4-453D0AB610BC}"
RootNamespace="_ciscosm"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release\server"
IntermediateDirectory=".\Release\modules"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release/_ciscosm.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
AdditionalIncludeDirectories=".,..,..\libs\ysig"
PreprocessorDefinitions="NDEBUG;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE"
StringPooling="true"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\Release\modules/_ciscosm.pch"
AssemblerListingLocation=".\Release\modules/"
ObjectFile=".\Release\modules/"
ProgramDataBaseFileName=".\Release\modules/"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
IgnoreImportLibrary="true"
AdditionalDependencies="Release/libysig.lib"
OutputFile="Release/server/ciscosm.yate"
LinkIncremental="1"
SuppressStartupBanner="true"
ProgramDatabaseFile=".\Release/ciscosm.pdb"
ImportLibrary=".\Release/ciscosm.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Release/_ciscosm.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug\server"
IntermediateDirectory=".\Debug\modules"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug/_ciscosm.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".,..,..\libs\ysig"
PreprocessorDefinitions="_DEBUG;WIN32;_WINDOWS;_USRDLL;_CRT_SECURE_NO_DEPRECATE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
PrecompiledHeaderFile=".\Debug\modules/_ciscosm.pch"
AssemblerListingLocation=".\Debug\modules/"
ObjectFile=".\Debug\modules/"
ProgramDataBaseFileName=".\Debug\modules/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
IgnoreImportLibrary="true"
AdditionalDependencies="Debug/libysig.lib"
OutputFile="Debug/server/ciscosm.yate"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/ciscosm.pdb"
ImportLibrary=".\Debug/ciscosm.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug/_ciscosm.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath="..\modules\server\ciscosm.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath="version.rc"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -77,6 +77,8 @@ Source: "Release\yate-console.exe"; DestDir: "{app}"; Flags: replacesameversion;
Source: "Release\server\accfile.yate"; DestDir: "{app}\modules\server"; Flags: replacesameversion; Components: client server
Source: "Release\server\analog.yate"; DestDir: "{app}\modules\server"; Flags: replacesameversion; Components: server\pstn
Source: "Release\server\ysigchan.yate"; DestDir: "{app}\modules\server"; Flags: replacesameversion; Components: server\pstn
Source: "Release\server\ciscosm.yate"; DestDir: "{app}\modules\server"; Flags: replacesameversion; Components: server\pstn
Source: "Release\analyzer.yate"; DestDir: "{app}\modules"; Flags: replacesameversion; Components: server debug
Source: "Release\callfork.yate"; DestDir: "{app}\modules"; Flags: replacesameversion; Components: server
Source: "Release\callgen.yate"; DestDir: "{app}\modules"; Flags: replacesameversion; Components: debug