remove deprecated version (before slot_base, signal_base refactoring)
This commit is contained in:
1 parent
1ee19a654d
commit
9566ed0f34
22 files changed
-19895
No files matched your search
@@ -1,21 +0,0 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 8.00
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "callbacktest", "callbacktest.vcproj", "{43D38036-45DA-4DD1-950C-AE8AE57F819D}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfiguration) = preSolution
|
||||
Debug = Debug
|
||||
Release = Release
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfiguration) = postSolution
|
||||
{43D38036-45DA-4DD1-950C-AE8AE57F819D}.Debug.ActiveCfg = Debug|Win32
|
||||
{43D38036-45DA-4DD1-950C-AE8AE57F819D}.Debug.Build.0 = Debug|Win32
|
||||
{43D38036-45DA-4DD1-950C-AE8AE57F819D}.Release.ActiveCfg = Release|Win32
|
||||
{43D38036-45DA-4DD1-950C-AE8AE57F819D}.Release.Build.0 = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddIns) = postSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
@@ -1,108 +0,0 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="callbacktest"
|
||||
ProjectGUID="{43D38036-45DA-4DD1-950C-AE8AE57F819D}"
|
||||
Keyword="Win32Proj">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
|
||||
MinimalRebuild="TRUE"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="5"
|
||||
RuntimeTypeInfo="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="4"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
GenerateDebugInformation="TRUE"
|
||||
SubSystem="1"
|
||||
TargetMachine="1"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCWebDeploymentTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="2">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
|
||||
RuntimeLibrary="4"
|
||||
RuntimeTypeInfo="TRUE"
|
||||
UsePrecompiledHeader="0"
|
||||
WarningLevel="3"
|
||||
Detect64BitPortabilityProblems="TRUE"
|
||||
DebugInformationFormat="3"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="$(OutDir)/callbacktest.lib"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<File
|
||||
RelativePath=".\source\main.cpp">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
@@ -1,131 +0,0 @@
|
||||
#ifndef __Signal_h__
|
||||
#define __Signal_h__
|
||||
|
||||
|
||||
|
||||
#include "signal/signal0.h"
|
||||
#include "signal/signal1.h"
|
||||
#include "signal/signal2.h"
|
||||
#include "signal/signal3.h"
|
||||
#include "signal/signal4.h"
|
||||
#include "signal/signal5.h"
|
||||
#include "signal/signal6.h"
|
||||
#include "signal/signal7.h"
|
||||
#include "signal/signal8.h"
|
||||
#include "signal/signal9.h"
|
||||
#include "signal/signal10.h"
|
||||
#include "signal/signal11.h"
|
||||
#include "signal/signal12.h"
|
||||
#include "signal/signal13.h"
|
||||
#include "signal/signal14.h"
|
||||
#include "signal/signal15.h"
|
||||
#include "signal/signal16.h"
|
||||
|
||||
|
||||
|
||||
struct nilarg;
|
||||
|
||||
template <typename T_return, typename T_arg0=nilarg, typename T_arg1=nilarg, typename T_arg2=nilarg, typename T_arg3=nilarg, typename T_arg4=nilarg, typename T_arg5=nilarg, typename T_arg6=nilarg, typename T_arg7=nilarg, typename T_arg8=nilarg, typename T_arg9=nilarg, typename T_arg10=nilarg, typename T_arg11=nilarg, typename T_arg12=nilarg, typename T_arg13=nilarg, typename T_arg14=nilarg, typename T_arg15=nilarg>
|
||||
class Signal :
|
||||
public Signal16<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12, T_arg13, T_arg14, T_arg15>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8, typename T_arg9, typename T_arg10, typename T_arg11, typename T_arg12, typename T_arg13, typename T_arg14>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12, T_arg13, T_arg14> :
|
||||
public Signal15<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12, T_arg13, T_arg14>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8, typename T_arg9, typename T_arg10, typename T_arg11, typename T_arg12, typename T_arg13>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12, T_arg13> :
|
||||
public Signal14<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12, T_arg13>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8, typename T_arg9, typename T_arg10, typename T_arg11, typename T_arg12>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12> :
|
||||
public Signal13<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11, T_arg12>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8, typename T_arg9, typename T_arg10, typename T_arg11>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11> :
|
||||
public Signal12<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10, T_arg11>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8, typename T_arg9, typename T_arg10>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10> :
|
||||
public Signal11<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9, T_arg10>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8, typename T_arg9>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9> :
|
||||
public Signal10<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8, T_arg9>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7, typename T_arg8>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8> :
|
||||
public Signal9<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7, T_arg8>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6, typename T_arg7>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7> :
|
||||
public Signal8<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5, typename T_arg6>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6> :
|
||||
public Signal7<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4, typename T_arg5>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5> :
|
||||
public Signal6<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4, T_arg5>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3, typename T_arg4>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4> :
|
||||
public Signal5<T_return, T_arg0, T_arg1, T_arg2, T_arg3, T_arg4>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2, typename T_arg3>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2, T_arg3> :
|
||||
public Signal4<T_return, T_arg0, T_arg1, T_arg2, T_arg3>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1, typename T_arg2>
|
||||
class Signal<T_return, T_arg0, T_arg1, T_arg2> :
|
||||
public Signal3<T_return, T_arg0, T_arg1, T_arg2>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0, typename T_arg1>
|
||||
class Signal<T_return, T_arg0, T_arg1> :
|
||||
public Signal2<T_return, T_arg0, T_arg1>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return, typename T_arg0>
|
||||
class Signal<T_return, T_arg0> :
|
||||
public Signal1<T_return, T_arg0>
|
||||
{
|
||||
};
|
||||
|
||||
template <typename T_return>
|
||||
class Signal<T_return> :
|
||||
public Signal0<T_return>
|
||||
{
|
||||
};
|
||||
|
||||
|
||||
#endif // __Signal_h__
|
||||
@@ -1,199 +0,0 @@
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
|
||||
#include "Signal.h"
|
||||
|
||||
|
||||
|
||||
void Function()
|
||||
{
|
||||
printf("Function()\n");
|
||||
}
|
||||
|
||||
void Function1(int x)
|
||||
{
|
||||
printf("Function1(%d)\n",x);
|
||||
}
|
||||
|
||||
void Function5(int a,int b, int c, int d, int e)
|
||||
{
|
||||
printf("Function5(%d,%d,%d,%d,%d)\n",a,b,c,d,e);
|
||||
}
|
||||
|
||||
|
||||
|
||||
class Dummy
|
||||
{
|
||||
public:
|
||||
|
||||
virtual void member()
|
||||
{
|
||||
printf("Dummy::member()\n");
|
||||
}
|
||||
|
||||
void operator() ()
|
||||
{
|
||||
printf("Dummy::operator()()\n");
|
||||
}
|
||||
|
||||
void member5(int a,int b, int c, int d, int e) const
|
||||
{
|
||||
printf("Dummy::member5(%d,%d,%d,%d,%d)\n",a,b,c,d,e);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
class DummyChild: public Dummy
|
||||
{
|
||||
public:
|
||||
|
||||
virtual void member()
|
||||
{
|
||||
printf("DummyChild::member()\n");
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
class OverloadedMembers
|
||||
{
|
||||
public:
|
||||
|
||||
void member(int x)
|
||||
{
|
||||
printf("OverloadedMembers::member(%d)\n",x);
|
||||
}
|
||||
|
||||
void member(int x, int y)
|
||||
{
|
||||
printf("OverloadedMembers::member(%d,%d)\n",x,y);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
||||
class MySlot: public Signal<void>::SlotBase
|
||||
{
|
||||
public:
|
||||
|
||||
MySlot(int id)
|
||||
{
|
||||
this->some_id = id;
|
||||
}
|
||||
|
||||
virtual void operator() () const
|
||||
{
|
||||
printf("MySlot::operator() [some_id = %d]\n",some_id);
|
||||
}
|
||||
|
||||
virtual bool operator== (const Slot0<void>* other) const
|
||||
{
|
||||
const MySlot* pother = dynamic_cast<const MySlot*>(other);
|
||||
if ( pother )
|
||||
{
|
||||
return this->some_id == pother->some_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
virtual Slot0<void>* clone() const
|
||||
{
|
||||
return new MySlot(some_id);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
int some_id;
|
||||
};
|
||||
|
||||
|
||||
|
||||
MySlot Create_MySlot(int x)
|
||||
{
|
||||
return MySlot(x);
|
||||
}
|
||||
|
||||
|
||||
|
||||
int main()
|
||||
{
|
||||
Signal<void> sig;
|
||||
Signal<void> sig_copy;
|
||||
Signal<void,int> sig1;
|
||||
Signal<void,int,int> sig2;
|
||||
Signal<void,int,int,int,int,int> sig5;
|
||||
Signal<void> count_test;
|
||||
|
||||
assert( !count_test.IsConnected(Function) );
|
||||
count_test.Connect(Function,2);
|
||||
assert( count_test.IsConnected(Function) );
|
||||
count_test();
|
||||
count_test();
|
||||
count_test();
|
||||
|
||||
OverloadedMembers bf;
|
||||
|
||||
assert( !sig1.IsConnected(&bf,&OverloadedMembers::member) );
|
||||
assert( !sig2.IsConnected(&bf,&OverloadedMembers::member) );
|
||||
sig1.Connect(&bf,&OverloadedMembers::member);
|
||||
sig2.Connect(&bf,&OverloadedMembers::member);
|
||||
assert( sig1.IsConnected(&bf,&OverloadedMembers::member) );
|
||||
assert( sig2.IsConnected(&bf,&OverloadedMembers::member) );
|
||||
sig1(10);
|
||||
sig2(1,2);
|
||||
|
||||
assert( !sig.IsConnected(Create_MySlot(1)) );
|
||||
sig.Connect(Create_MySlot(1));
|
||||
assert( sig.IsConnected(Create_MySlot(1)) );
|
||||
sig.Disconnect(Create_MySlot(1));
|
||||
assert( !sig.IsConnected(Create_MySlot(1)) );
|
||||
|
||||
sig1.Connect(Function1);
|
||||
sig1(0);
|
||||
sig1(1);
|
||||
sig1(2);
|
||||
sig1(3);
|
||||
|
||||
Dummy d;
|
||||
Dummy d2;
|
||||
DummyChild dc;
|
||||
|
||||
sig5.Connect(Function5);
|
||||
sig5.Connect(&d,&Dummy::member5);
|
||||
sig5.Connect(&dc,&Dummy::member5);
|
||||
sig5(0,1,2,3,4);
|
||||
|
||||
printf("\n---\n\n");
|
||||
sig.Connect(Function);
|
||||
|
||||
sig.Connect(&d);
|
||||
sig.Connect(&d2);
|
||||
sig.Connect(&d,&Dummy::member);
|
||||
sig.Connect(&dc,&DummyChild::member);
|
||||
sig.Connect(&dc,&Dummy::member);
|
||||
sig.Connect(&dc);
|
||||
|
||||
sig.Emit();
|
||||
|
||||
printf("\n---\n\n");
|
||||
sig.Disconnect(Function);
|
||||
sig.Emit();
|
||||
|
||||
printf("\n---\n\n");
|
||||
|
||||
sig_copy = sig;
|
||||
sig_copy.Emit();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user