diff options
Diffstat (limited to 'docs/tutorials/020')
-rw-r--r-- | docs/tutorials/020/020-client.dsp | 105 | ||||
-rw-r--r-- | docs/tutorials/020/020-client2.dsp | 105 | ||||
-rw-r--r-- | docs/tutorials/020/020-server.dsp | 105 | ||||
-rw-r--r-- | docs/tutorials/020/020-server2.dsp | 105 | ||||
-rw-r--r-- | docs/tutorials/020/Makefile | 79 | ||||
-rw-r--r-- | docs/tutorials/020/client.cpp | 31 | ||||
-rw-r--r-- | docs/tutorials/020/client2.cpp | 25 | ||||
-rw-r--r-- | docs/tutorials/020/combine.shar | 364 | ||||
-rw-r--r-- | docs/tutorials/020/mmap.cpp | 34 | ||||
-rw-r--r-- | docs/tutorials/020/mmap.h | 38 | ||||
-rw-r--r-- | docs/tutorials/020/mmapfile | 8 | ||||
-rw-r--r-- | docs/tutorials/020/page01.html | 47 | ||||
-rw-r--r-- | docs/tutorials/020/page02.html | 73 | ||||
-rw-r--r-- | docs/tutorials/020/page03.html | 52 | ||||
-rw-r--r-- | docs/tutorials/020/page04.html | 87 | ||||
-rw-r--r-- | docs/tutorials/020/page05.html | 97 | ||||
-rw-r--r-- | docs/tutorials/020/page06.html | 27 | ||||
-rw-r--r-- | docs/tutorials/020/server.cpp | 41 | ||||
-rw-r--r-- | docs/tutorials/020/server2.cpp | 31 |
19 files changed, 0 insertions, 1454 deletions
diff --git a/docs/tutorials/020/020-client.dsp b/docs/tutorials/020/020-client.dsp deleted file mode 100644 index 92d8ebe78b0..00000000000 --- a/docs/tutorials/020/020-client.dsp +++ /dev/null @@ -1,105 +0,0 @@ -# Microsoft Developer Studio Project File - Name="020 client" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=020 client - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "020 client.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "020 client.mak" CFG="020 client - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "020 client - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "020 client - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "020 client - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace"
-
-!ELSEIF "$(CFG)" == "020 client - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "020 client - Win32 Release"
-# Name "020 client - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\client.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\mmap.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\mmap.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/docs/tutorials/020/020-client2.dsp b/docs/tutorials/020/020-client2.dsp deleted file mode 100644 index 4bd463b95b3..00000000000 --- a/docs/tutorials/020/020-client2.dsp +++ /dev/null @@ -1,105 +0,0 @@ -# Microsoft Developer Studio Project File - Name="020 client2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=020 client2 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "020 client2.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "020 client2.mak" CFG="020 client2 - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "020 client2 - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "020 client2 - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "020 client2 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace"
-
-!ELSEIF "$(CFG)" == "020 client2 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "020 client2 - Win32 Release"
-# Name "020 client2 - Win32 Debug"
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\mmap.h
-# End Source File
-# End Group
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\client2.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\mmap.cpp
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/docs/tutorials/020/020-server.dsp b/docs/tutorials/020/020-server.dsp deleted file mode 100644 index 26eced19e76..00000000000 --- a/docs/tutorials/020/020-server.dsp +++ /dev/null @@ -1,105 +0,0 @@ -# Microsoft Developer Studio Project File - Name="020 server" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=020 server - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "020 server.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "020 server.mak" CFG="020 server - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "020 server - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "020 server - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "020 server - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace"
-
-!ELSEIF "$(CFG)" == "020 server - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "020 server - Win32 Release"
-# Name "020 server - Win32 Debug"
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\mmap.h
-# End Source File
-# End Group
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\mmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\server.cpp
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/docs/tutorials/020/020-server2.dsp b/docs/tutorials/020/020-server2.dsp deleted file mode 100644 index 9011a553e0f..00000000000 --- a/docs/tutorials/020/020-server2.dsp +++ /dev/null @@ -1,105 +0,0 @@ -# Microsoft Developer Studio Project File - Name="020 server2" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=020 server2 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "020 server2.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "020 server2.mak" CFG="020 server2 - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "020 server2 - Win32 Release" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE "020 server2 - Win32 Debug" (based on\
- "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "020 server2 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\.." /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ace.lib /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\ace"
-
-!ELSEIF "$(CFG)" == "020 server2 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\.." /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\ace"
-
-!ENDIF
-
-# Begin Target
-
-# Name "020 server2 - Win32 Release"
-# Name "020 server2 - Win32 Debug"
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\mmap.h
-# End Source File
-# End Group
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\mmap.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\server2.cpp
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/docs/tutorials/020/Makefile b/docs/tutorials/020/Makefile deleted file mode 100644 index f211d39ae14..00000000000 --- a/docs/tutorials/020/Makefile +++ /dev/null @@ -1,79 +0,0 @@ - -# $Id$ - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -BIN = client server client2 server2 - -FILES = mmap - -BUILD = $(VBIN) - -BSRC = $(addsuffix .cpp,$(BIN)) - -SRC += $(addsuffix .cpp,$(FILES)) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -rename : # - for i in *.cxx ; do \ - n=`expr "$$i" : "\(.*\).cxx"` ;\ - mv $$i $$n.cpp ;\ - done - -Indent : # - for i in $(SRC) $(HDR) ; do \ - indent -npsl -l80 -fca -fc1 -cli0 -cdb -ts2 -bl -bli0 < $$i | \ - sed -e 's/: :/::/g' \ - -e 's/^.*\(public:\)/\1/' \ - -e 's/^.*\(protected:\)/\1/' \ - -e 's/^.*\(private:\)/\1/' \ - -e 's/:\(public\)/ : \1/' \ - -e 's/:\(protected\)/ : \1/' \ - -e 's/:\(private\)/ : \1/' \ - -e 's/ / /g' \ - > $$i~ ;\ - mv $$i~ $$i ;\ - done - -Depend : # - $(MAKE) SRC="$(SRC) $(BSRC)" depend - perl ../fix.Makefile - -.depend : # - touch .depend - -HTML : # - [ -f hdr ] || $(MAKE) UNSHAR - perl ../combine *.pre - -SHAR : # - [ ! -f combine.shar ] || exit 1 - shar -T hdr bodies *.pre *.pst > combine.shar && rm -f hdr bodies *.pre *.pst - -UNSHAR : # - sh combine.shar - -CLEAN : realclean - rm -f hdr bodies *.pre *.pst .depend - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -include .depend diff --git a/docs/tutorials/020/client.cpp b/docs/tutorials/020/client.cpp deleted file mode 100644 index 6be12920164..00000000000 --- a/docs/tutorials/020/client.cpp +++ /dev/null @@ -1,31 +0,0 @@ - -// $Id$ - -#include "mmap.h" - -int main (int, char *[]) -{ - ACE_Shared_Memory_MM shm_client (SHM_KEY, SHMSZ); - char *shm = (char *) shm_client.malloc (); - - ACE_DEBUG ((LM_INFO, "(%P|%t) Memory Mapped file is at 0x%x\n", - shm )); - - if( ! shm ) - { - ACE_ERROR_RETURN ((LM_ERROR,"(%P|%t) Could not get the mmapped file!\n"),100); - } - - for (char *s = shm; *s != '\0'; s++) - { - putchar (*s); - *s = toupper(*s); - } - - putchar ('\n'); - *shm = '*'; - - shm_client.close(); - - return 0; -} diff --git a/docs/tutorials/020/client2.cpp b/docs/tutorials/020/client2.cpp deleted file mode 100644 index 35ddc8ffe43..00000000000 --- a/docs/tutorials/020/client2.cpp +++ /dev/null @@ -1,25 +0,0 @@ - -// $Id$ - -#include "mmap.h" - -int main (int, char *[]) -{ - ACE_Shared_Memory_MM shm_client (SHM_KEY, sizeof(SharedData)); - - char *shm = (char *) shm_client.malloc (); - - ACE_DEBUG ((LM_INFO, "(%P|%t) Memory Mapped file is at 0x%x\n", - shm )); - - SharedData * sd = new(shm) SharedData(0); - - sd->show(); - sd->set(); - sd->available(1); - - shm_client.close(); - - return 0; -} - diff --git a/docs/tutorials/020/combine.shar b/docs/tutorials/020/combine.shar deleted file mode 100644 index fa330caeede..00000000000 --- a/docs/tutorials/020/combine.shar +++ /dev/null @@ -1,364 +0,0 @@ -#!/bin/sh -# This is a shell archive (produced by GNU sharutils 4.2). -# To extract the files from this archive, save it to some FILE, remove -# everything before the `!/bin/sh' line above, then type `sh FILE'. -# -# Made on 1999-04-03 17:08 EST by <jcej@chiroptera.tragus.org>. -# Source directory was `/var/home/jcej/projects/ACE_wrappers/docs/tutorials/020'. -# -# Existing files will *not* be overwritten unless `-c' is specified. -# -# This shar contains: -# length mode name -# ------ ---------- ------------------------------------------ -# 426 -rw-rw-r-- hdr -# 69 -rw-rw-r-- bodies -# 1395 -rw-rw-r-- page01.pre -# 524 -rw-rw-r-- page02.pre -# 115 -rw-rw-r-- page03.pre -# 411 -rw-rw-r-- page04.pre -# 102 -rw-rw-r-- page05.pre -# 371 -rw-rw-r-- page06.pre -# 132 -rw-rw-r-- page02.pst -# -save_IFS="${IFS}" -IFS="${IFS}:" -gettext_dir=FAILED -locale_dir=FAILED -first_param="$1" -for dir in $PATH -do - if test "$gettext_dir" = FAILED && test -f $dir/gettext \ - && ($dir/gettext --version >/dev/null 2>&1) - then - set `$dir/gettext --version 2>&1` - if test "$3" = GNU - then - gettext_dir=$dir - fi - fi - if test "$locale_dir" = FAILED && test -f $dir/shar \ - && ($dir/shar --print-text-domain-dir >/dev/null 2>&1) - then - locale_dir=`$dir/shar --print-text-domain-dir` - fi -done -IFS="$save_IFS" -if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED -then - echo=echo -else - TEXTDOMAINDIR=$locale_dir - export TEXTDOMAINDIR - TEXTDOMAIN=sharutils - export TEXTDOMAIN - echo="$gettext_dir/gettext -s" -fi -touch -am 1231235999 $$.touch >/dev/null 2>&1 -if test ! -f 1231235999 && test -f $$.touch; then - shar_touch=touch -else - shar_touch=: - echo - $echo 'WARNING: not restoring timestamps. Consider getting and' - $echo "installing GNU \`touch', distributed in GNU File Utilities..." - echo -fi -rm -f 1231235999 $$.touch -# -if mkdir _sh12949; then - $echo 'x -' 'creating lock directory' -else - $echo 'failed to create lock directory' - exit 1 -fi -# ============= hdr ============== -if test -f 'hdr' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'hdr' '(file already exists)' -else - $echo 'x -' extracting 'hdr' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'hdr' && -<HTML> -<HEAD> -X <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> -X <META NAME="Author" CONTENT="James CE Johnson"> -X <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> -X -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> -X -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> -X -<P> -<HR WIDTH="100%"> -SHAR_EOF - $shar_touch -am 1228173698 'hdr' && - chmod 0664 'hdr' || - $echo 'restore of' 'hdr' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'hdr:' 'MD5 check failed' -edd6dc67f13434391cf73b7604485b80 hdr -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'hdr'`" - test 426 -eq "$shar_count" || - $echo 'hdr:' 'original size' '426,' 'current size' "$shar_count!" - fi -fi -# ============= bodies ============== -if test -f 'bodies' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'bodies' '(file already exists)' -else - $echo 'x -' extracting 'bodies' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'bodies' && -PAGE=2 -server.cpp -client.cpp -server2.cpp client2.cpp -mmap.h mmap.cpp -SHAR_EOF - $shar_touch -am 1228174898 'bodies' && - chmod 0664 'bodies' || - $echo 'restore of' 'bodies' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'bodies:' 'MD5 check failed' -a5d087bf1c11cf431c082ba146f3c6aa bodies -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'bodies'`" - test 69 -eq "$shar_count" || - $echo 'bodies:' 'original size' '69,' 'current size' "$shar_count!" - fi -fi -# ============= page01.pre ============== -if test -f 'page01.pre' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page01.pre' '(file already exists)' -else - $echo 'x -' extracting 'page01.pre' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page01.pre' && -X This tutorial mirrors the previous. Instead of using shared memory, -X this time we'll be using a memory-mapped file. -X <p> -X The cool thing about doing it this way is that we gain -X persistence of memory even across reboots. I wonder if you -X could memory map a file that's mounted via NFS? -X <p> -X Like the shared memory tutorial, this one is also very basic and -X primitive. I'm assuming you've read that one, so I'll just hit -X the high points this time through.. -<P> -Kirthika's abstract: -<UL> -Here, the ACE_Shared_Memory_MM class has been used to provide -persistence of the contents of the shared memory resource used by -the server and client. A memory_map which is really a file mapped onto -memory appears like an array which can be -easily manipulated while actually the data is stored in a file thus -making the contents permanent. In the previous tutorial, this wasnt -possible as we were dealing with shared memory allocated from the RAM. -<P> -Again, here too, the example consists of a server and a client sharing -memory -(the mem_map) and the server writing a a-z string to it which will -be successfully converted to uppercase by the client. -<P> -Notice that, similarities in usage abound between the previous and the -current tutorial which will prove to be a force for templatisation. -For that we need to go ahead -- to the next tutorial! -X -</UL> -SHAR_EOF - $shar_touch -am 0403170599 'page01.pre' && - chmod 0664 'page01.pre' || - $echo 'restore of' 'page01.pre' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page01.pre:' 'MD5 check failed' -dce708188357c329c4d68d4799f5511b page01.pre -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page01.pre'`" - test 1395 -eq "$shar_count" || - $echo 'page01.pre:' 'original size' '1395,' 'current size' "$shar_count!" - fi -fi -# ============= page02.pre ============== -if test -f 'page02.pre' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page02.pre' '(file already exists)' -else - $echo 'x -' extracting 'page02.pre' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page02.pre' && -X Here's our new server using a memory mapped file instead of Unix -X System V shared memory. Print out both servers and hold 'em up -X to a strong light. I think you'll see there isn't much -X difference. -X <p> -X The filename is defined in mmap.h as <i>mmapfile</i>. You can -X <i>cat</i> it any time to see what's in there. If you're -X feeling brave, try writting some data into it. On my system it -X causes unpleasant things to happen. I'd recommend that you -X don't do that! -<hr> -SHAR_EOF - $shar_touch -am 1228174498 'page02.pre' && - chmod 0664 'page02.pre' || - $echo 'restore of' 'page02.pre' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page02.pre:' 'MD5 check failed' -94e75b2122d4d4c57e6f2f75c8d09b18 page02.pre -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page02.pre'`" - test 524 -eq "$shar_count" || - $echo 'page02.pre:' 'original size' '524,' 'current size' "$shar_count!" - fi -fi -# ============= page03.pre ============== -if test -f 'page03.pre' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page03.pre' '(file already exists)' -else - $echo 'x -' extracting 'page03.pre' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page03.pre' && -There's no important difference between this and the SV client. Is -X everybody thinking "template" here? -<hr> -SHAR_EOF - $shar_touch -am 1228174598 'page03.pre' && - chmod 0664 'page03.pre' || - $echo 'restore of' 'page03.pre' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page03.pre:' 'MD5 check failed' -4ecbc37dd434a7f7ac6d17967625cfcb page03.pre -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page03.pre'`" - test 115 -eq "$shar_count" || - $echo 'page03.pre:' 'original size' '115,' 'current size' "$shar_count!" - fi -fi -# ============= page04.pre ============== -if test -f 'page04.pre' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page04.pre' '(file already exists)' -else - $echo 'x -' extracting 'page04.pre' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page04.pre' && -I wanted to show placement new again & prove that you can use it with -X a memory mapped file just as easily as with a shared memory -X segment. -X <p> -Imagine if you had an object that contained an image & then you mapped -X that to a file... Instead of a bunch of jpg files laying -X around, you would actually have objects instead. Save the -X image? No problem, it's already there! -<hr> -SHAR_EOF - $shar_touch -am 1228175398 'page04.pre' && - chmod 0664 'page04.pre' || - $echo 'restore of' 'page04.pre' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page04.pre:' 'MD5 check failed' -22e02b4170bdf5e6cd8894b8983c737a page04.pre -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page04.pre'`" - test 411 -eq "$shar_count" || - $echo 'page04.pre:' 'original size' '411,' 'current size' "$shar_count!" - fi -fi -# ============= page05.pre ============== -if test -f 'page05.pre' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page05.pre' '(file already exists)' -else - $echo 'x -' extracting 'page05.pre' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page05.pre' && -The mmap.h where we define stuff that needs to be shared between the -X apps at compile-time. -<hr> -SHAR_EOF - $shar_touch -am 1228175198 'page05.pre' && - chmod 0664 'page05.pre' || - $echo 'restore of' 'page05.pre' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page05.pre:' 'MD5 check failed' -4dd4610ed79583de6edd62eeb02bf7fe page05.pre -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page05.pre'`" - test 102 -eq "$shar_count" || - $echo 'page05.pre:' 'original size' '102,' 'current size' "$shar_count!" - fi -fi -# ============= page06.pre ============== -if test -f 'page06.pre' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page06.pre' '(file already exists)' -else - $echo 'x -' extracting 'page06.pre' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page06.pre' && -This one was even shorter than the last! -X -X <ul> -X <li><A HREF="server.cpp">server.cpp</A> -X <li><A HREF="client.cpp">client.cpp</A> -X <li><A HREF="server2.cpp">server2.cpp</A> -X <li><A HREF="client2.cpp">client2.cpp</A> -X <li><A HREF="mmap.h">mmap.h</A> -X <li><A HREF="mmap.cpp">mmap.cpp</A> -X <li><A HREF="Makefile">Makefile</A> -X </ul> -SHAR_EOF - $shar_touch -am 1228175498 'page06.pre' && - chmod 0664 'page06.pre' || - $echo 'restore of' 'page06.pre' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page06.pre:' 'MD5 check failed' -8c515447a6b2a9c39a25915248260602 page06.pre -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page06.pre'`" - test 371 -eq "$shar_count" || - $echo 'page06.pre:' 'original size' '371,' 'current size' "$shar_count!" - fi -fi -# ============= page02.pst ============== -if test -f 'page02.pst' && test "$first_param" != -c; then - $echo 'x -' SKIPPING 'page02.pst' '(file already exists)' -else - $echo 'x -' extracting 'page02.pst' '(text)' - sed 's/^X//' << 'SHAR_EOF' > 'page02.pst' && -<HR> -BTW: In ACE 4.6.7 and prior there is a bug that prevents the remove() -X method from actually removing the physical file. -SHAR_EOF - $shar_touch -am 1228175398 'page02.pst' && - chmod 0664 'page02.pst' || - $echo 'restore of' 'page02.pst' 'failed' - if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ - && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then - md5sum -c << SHAR_EOF >/dev/null 2>&1 \ - || $echo 'page02.pst:' 'MD5 check failed' -10ea86cd7f1b8484868846bd8761e582 page02.pst -SHAR_EOF - else - shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'page02.pst'`" - test 132 -eq "$shar_count" || - $echo 'page02.pst:' 'original size' '132,' 'current size' "$shar_count!" - fi -fi -rm -fr _sh12949 -exit 0 diff --git a/docs/tutorials/020/mmap.cpp b/docs/tutorials/020/mmap.cpp deleted file mode 100644 index 6ee9f1198c8..00000000000 --- a/docs/tutorials/020/mmap.cpp +++ /dev/null @@ -1,34 +0,0 @@ - -// $Id$ - -#include "mmap.h" - -SharedData::SharedData(int _initialize) - : available_(0) -{ - if( _initialize ) - { - ACE_OS::sprintf(buf_,"UNSET\n"); - } -} - -void SharedData::set(void) -{ - ACE_OS::sprintf(buf_,"My PID is (%d)\n",ACE_OS::getpid()); -} - -void SharedData::show(void) -{ - ACE_DEBUG ((LM_INFO, "(%P|%t) Shared Data text is (%s)\n", - buf_ )); -} - -int SharedData::available(void) -{ - return available_; -} - -void SharedData::available(int _available) -{ - available_ = _available; -} diff --git a/docs/tutorials/020/mmap.h b/docs/tutorials/020/mmap.h deleted file mode 100644 index f80489ff51e..00000000000 --- a/docs/tutorials/020/mmap.h +++ /dev/null @@ -1,38 +0,0 @@ -// $Id$ - -#ifndef MMAP_H -#define MMAP_H - -// The expected filename for ACE_Shared_Memory_MM.h -#include "ace/Shared_Memory_MM.h" - -// Just enough for the alphabet... -#define SHMSZ 27 - -/* - Here we use a real filename instead of an arbitrary number. This - actually will exist in the filesystem. You can 'cat' it and - everything! -*/ -#define SHM_KEY "mmapfile" - -/* - The SV Shared Memory SharedData object returns. It is identical to - the one we used in that tutorial. I didn't even change the name. - */ -class SharedData -{ -public: - SharedData (int initialize = 1); - - void set (void); - void show (void); - int available (void); - void available (int not_in_use); - -protected: - char buf_[128]; - int available_; -}; - -#endif /* MMAP_H */ diff --git a/docs/tutorials/020/mmapfile b/docs/tutorials/020/mmapfile deleted file mode 100644 index 7ea5caf832b..00000000000 --- a/docs/tutorials/020/mmapfile +++ /dev/null @@ -1,8 +0,0 @@ -root tty2 Dec 13 19:43 -jcej tty5 Dec 14 20:36 -dialout modem Dec 28 15:51 (/usr/sbin/diald -daemon -f /etc/diald.lads) -jcej ttyp1 Dec 22 00:31 (:0.0) -jcej ttyp2 Dec 22 11:22 (:0.0) -jcej ttyp7 Dec 22 18:22 (:0.0) -jcej ttyp9 Dec 24 00:04 (:0.0) -jcej ttyp8 Dec 22 18:47 (:0.0) diff --git a/docs/tutorials/020/page01.html b/docs/tutorials/020/page01.html deleted file mode 100644 index 099d0bb3725..00000000000 --- a/docs/tutorials/020/page01.html +++ /dev/null @@ -1,47 +0,0 @@ -<HTML> -<HEAD> - <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> - <META NAME="Author" CONTENT="James CE Johnson"> - <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> - -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> - -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> - -<P> -<HR WIDTH="100%"> - This tutorial mirrors the previous. Instead of using shared memory, - this time we'll be using a memory-mapped file. - <p> - The cool thing about doing it this way is that we gain - persistence of memory even across reboots. I wonder if you - could memory map a file that's mounted via NFS? - <p> - Like the shared memory tutorial, this one is also very basic and - primitive. I'm assuming you've read that one, so I'll just hit - the high points this time through.. -<P> -Kirthika's abstract: -<UL> -Here, the ACE_Shared_Memory_MM class has been used to provide -persistence of the contents of the shared memory resource used by -the server and client. A memory_map which is really a file mapped onto -memory appears like an array which can be -easily manipulated while actually the data is stored in a file thus -making the contents permanent. In the previous tutorial, this wasnt -possible as we were dealing with shared memory allocated from the RAM. -<P> -Again, here too, the example consists of a server and a client sharing -memory -(the mem_map) and the server writing a a-z string to it which will -be successfully converted to uppercase by the client. -<P> -Notice that, similarities in usage abound between the previous and the -current tutorial which will prove to be a force for templatisation. -For that we need to go ahead -- to the next tutorial! - -</UL> -<P><HR WIDTH="100%"> -<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page02.html">Continue This Tutorial</A>]</CENTER> diff --git a/docs/tutorials/020/page02.html b/docs/tutorials/020/page02.html deleted file mode 100644 index bb21f07d60f..00000000000 --- a/docs/tutorials/020/page02.html +++ /dev/null @@ -1,73 +0,0 @@ -<HTML> -<HEAD> - <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> - <META NAME="Author" CONTENT="James CE Johnson"> - <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> - -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> - -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> - -<P> -<HR WIDTH="100%"> - Here's our new server using a memory mapped file instead of Unix - System V shared memory. Print out both servers and hold 'em up - to a strong light. I think you'll see there isn't much - difference. - <p> - The filename is defined in mmap.h as <i>mmapfile</i>. You can - <i>cat</i> it any time to see what's in there. If you're - feeling brave, try writting some data into it. On my system it - causes unpleasant things to happen. I'd recommend that you - don't do that! -<hr> -<PRE> - -<font color=red>// $Id$</font> - -<font color=blue>#include</font> "<font color=green>mmap.h</font>" - -int -main (int, char *[]) -{ - <font color=red>/* - The default behavior of the memory map wrapper is to create - the file if it doesn't exist. This is a minor change from - the SV shared memory wrapper. - */</font> - ACE_Shared_Memory_MM shm_server (SHM_KEY, SHMSZ); - char *shm = (char *) shm_server.malloc (); - char *s = shm; - - ACE_DEBUG ((LM_INFO, "<font color=green>(%P|%t) Memory Mapped file is at 0x%x\n</font>", - shm )); - - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - while (*shm != '*') - <font color=#008888>ACE_OS::sleep</font> (1); - - for (s = shm; *s != '\0'; s++) - { - putchar (*s); - } - - putchar ('\n'); - - if (shm_server.remove () < 0) - ACE_ERROR ((LM_ERROR, "<font color=green>%p\n</font>", "<font color=green>remove</font>")); - - return 0; -} - -</PRE> -<HR> -BTW: In ACE 4.6.7 and prior there is a bug that prevents the remove() - method from actually removing the physical file. -<P><HR WIDTH="100%"> -<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page03.html">Continue This Tutorial</A>]</CENTER> diff --git a/docs/tutorials/020/page03.html b/docs/tutorials/020/page03.html deleted file mode 100644 index 9ff47b04670..00000000000 --- a/docs/tutorials/020/page03.html +++ /dev/null @@ -1,52 +0,0 @@ -<HTML> -<HEAD> - <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> - <META NAME="Author" CONTENT="James CE Johnson"> - <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> - -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> - -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> - -<P> -<HR WIDTH="100%"> -There's no important difference between this and the SV client. Is - everybody thinking "template" here? -<hr> -<PRE> - -<font color=red>// $Id$</font> - -<font color=blue>#include</font> "<font color=green>mmap.h</font>" - -int main (int, char *[]) -{ - ACE_Shared_Memory_MM shm_client (SHM_KEY, SHMSZ); - char *shm = (char *) shm_client.malloc (); - - ACE_DEBUG ((LM_INFO, "<font color=green>(%P|%t) Memory Mapped file is at 0x%x\n</font>", - shm )); - - if( ! shm ) - { - ACE_ERROR_RETURN ((LM_ERROR,"<font color=green>(%P|%t) Could not get the mmapped file!\n</font>"),100); - } - - for (char *s = shm; *s != '\0'; s++) - { - putchar (*s); - *s = toupper(*s); - } - - putchar ('\n'); - *shm = '*'; - - shm_client.close(); - - return 0; -} -</PRE> -<P><HR WIDTH="100%"> -<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page04.html">Continue This Tutorial</A>]</CENTER> diff --git a/docs/tutorials/020/page04.html b/docs/tutorials/020/page04.html deleted file mode 100644 index 93155c27c49..00000000000 --- a/docs/tutorials/020/page04.html +++ /dev/null @@ -1,87 +0,0 @@ -<HTML> -<HEAD> - <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> - <META NAME="Author" CONTENT="James CE Johnson"> - <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> - -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> - -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> - -<P> -<HR WIDTH="100%"> -I wanted to show placement new again & prove that you can use it with - a memory mapped file just as easily as with a shared memory - segment. - <p> -Imagine if you had an object that contained an image & then you mapped - that to a file... Instead of a bunch of jpg files laying - around, you would actually have objects instead. Save the - image? No problem, it's already there! -<hr> -<HR width=50%><P><center>server2.cpp</center><HR width=50%> -<PRE> - -<font color=red>// $Id$</font> - -<font color=blue>#include</font> "<font color=green>mmap.h</font>" - -int -main (int, char *[]) -{ - ACE_Shared_Memory_MM shm_server (SHM_KEY, sizeof(SharedData) ); - - char *shm = (char *) shm_server.malloc (); - - ACE_DEBUG ((LM_INFO, "<font color=green>(%P|%t) Memory Mapped file is at 0x%x\n</font>", - shm )); - - SharedData * sd = new(shm) SharedData; - - sd->set(); - sd->available(0); - - while ( ! sd->available() ) - <font color=#008888>ACE_OS::sleep</font> (1); - - sd->show(); - - if (shm_server.remove () < 0) - ACE_ERROR ((LM_ERROR, "<font color=green>%p\n</font>", "<font color=green>remove</font>")); - - return 0; -} - -</PRE> -<HR width=50%><P><center>client2.cpp</center><HR width=50%> -<PRE> - -<font color=red>// $Id$</font> - -<font color=blue>#include</font> "<font color=green>mmap.h</font>" - -int main (int, char *[]) -{ - ACE_Shared_Memory_MM shm_client (SHM_KEY, sizeof(SharedData)); - - char *shm = (char *) shm_client.malloc (); - - ACE_DEBUG ((LM_INFO, "<font color=green>(%P|%t) Memory Mapped file is at 0x%x\n</font>", - shm )); - - SharedData * sd = new(shm) SharedData(0); - - sd->show(); - sd->set(); - sd->available(1); - - shm_client.close(); - - return 0; -} - -</PRE> -<P><HR WIDTH="100%"> -<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page05.html">Continue This Tutorial</A>]</CENTER> diff --git a/docs/tutorials/020/page05.html b/docs/tutorials/020/page05.html deleted file mode 100644 index 612a942a061..00000000000 --- a/docs/tutorials/020/page05.html +++ /dev/null @@ -1,97 +0,0 @@ -<HTML> -<HEAD> - <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> - <META NAME="Author" CONTENT="James CE Johnson"> - <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> - -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> - -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> - -<P> -<HR WIDTH="100%"> -The mmap.h where we define stuff that needs to be shared between the - apps at compile-time. -<hr> -<HR width=50%><P><center>mmap.h</center><HR width=50%> -<PRE> -<font color=red>// $Id$</font> - -<font color=blue>#ifndef</font> <font color=purple>MMAP_H</font> -<font color=blue>#define</font> <font color=purple>MMAP_H</font> - -<font color=red>// The expected filename for ACE_Shared_Memory_MM.h</font> -<font color=blue>#include</font> "<A HREF="../../../ace/Shared_Memory_MM.h">ace/Shared_Memory_MM.h</A>" - -<font color=red>// Just enough for the alphabet...</font> -<font color=blue>#define</font> <font color=purple>SHMSZ</font> 27 - -<font color=red>/* - Here we use a real filename instead of an arbitrary number. This - actually will exist in the filesystem. You can 'cat' it and - everything! -*/</font> -<font color=blue>#define</font> <font color=purple>SHM_KEY</font> "<font color=green>mmapfile</font>" - -<font color=red>/* - The SV Shared Memory SharedData object returns. It is identical to - the one we used in that tutorial. I didn't even change the name. - */</font> -class SharedData -{ -public: - SharedData (int initialize = 1); - - void set (void); - void show (void); - int available (void); - void available (int not_in_use); - -protected: - char buf_[128]; - int available_; -}; - -<font color=blue>#endif</font> <font color=red>/* MMAP_H */</font> -</PRE> -<HR width=50%><P><center>mmap.cpp</center><HR width=50%> -<PRE> - -<font color=red>// $Id$</font> - -<font color=blue>#include</font> "<font color=green>mmap.h</font>" - -<font color=#008888>SharedData::SharedData</font>(int _initialize) - : available_(0) -{ - if( _initialize ) - { - <font color=#008888>ACE_OS::sprintf</font>(buf_,"<font color=green>UNSET\n</font>"); - } -} - -void <font color=#008888>SharedData::set</font>(void) -{ - <font color=#008888>ACE_OS::sprintf</font>(buf_,"<font color=green>My PID is (%d)\n</font>",ACE_OS::getpid()); -} - -void <font color=#008888>SharedData::show</font>(void) -{ - ACE_DEBUG ((LM_INFO, "<font color=green>(%P|%t) Shared Data text is (%s)\n</font>", - buf_ )); -} - -int <font color=#008888>SharedData::available</font>(void) -{ - return available_; -} - -void <font color=#008888>SharedData::available</font>(int _available) -{ - available_ = _available; -} -</PRE> -<P><HR WIDTH="100%"> -<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page06.html">Continue This Tutorial</A>]</CENTER> diff --git a/docs/tutorials/020/page06.html b/docs/tutorials/020/page06.html deleted file mode 100644 index af67e7754d6..00000000000 --- a/docs/tutorials/020/page06.html +++ /dev/null @@ -1,27 +0,0 @@ -<HTML> -<HEAD> - <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> - <META NAME="Author" CONTENT="James CE Johnson"> - <TITLE>ACE Tutorial 020</TITLE> -</HEAD> -<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#000FFF" VLINK="#FF0F0F"> - -<CENTER><B><FONT SIZE=+2>ACE Tutorial 020</FONT></B></CENTER> - -<CENTER><B><FONT SIZE=+2>Sharing your Memories with persistence</FONT></B></CENTER> - -<P> -<HR WIDTH="100%"> -This one was even shorter than the last! - - <ul> - <li><A HREF="server.cpp">server.cpp</A> - <li><A HREF="client.cpp">client.cpp</A> - <li><A HREF="server2.cpp">server2.cpp</A> - <li><A HREF="client2.cpp">client2.cpp</A> - <li><A HREF="mmap.h">mmap.h</A> - <li><A HREF="mmap.cpp">mmap.cpp</A> - <li><A HREF="Makefile">Makefile</A> - </ul> -<P><HR WIDTH="100%"> -<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] </CENTER> diff --git a/docs/tutorials/020/server.cpp b/docs/tutorials/020/server.cpp deleted file mode 100644 index 34cab1d8637..00000000000 --- a/docs/tutorials/020/server.cpp +++ /dev/null @@ -1,41 +0,0 @@ - -// $Id$ - -#include "mmap.h" - -int -main (int, char *[]) -{ - /* - The default behavior of the memory map wrapper is to create - the file if it doesn't exist. This is a minor change from - the SV shared memory wrapper. - */ - ACE_Shared_Memory_MM shm_server (SHM_KEY, SHMSZ); - char *shm = (char *) shm_server.malloc (); - char *s = shm; - - ACE_DEBUG ((LM_INFO, "(%P|%t) Memory Mapped file is at 0x%x\n", - shm )); - - for (char c = 'a'; c <= 'z'; c++) - *s++ = c; - - *s = '\0'; - - while (*shm != '*') - ACE_OS::sleep (1); - - for (s = shm; *s != '\0'; s++) - { - putchar (*s); - } - - putchar ('\n'); - - if (shm_server.remove () < 0) - ACE_ERROR ((LM_ERROR, "%p\n", "remove")); - - return 0; -} - diff --git a/docs/tutorials/020/server2.cpp b/docs/tutorials/020/server2.cpp deleted file mode 100644 index 9b5e6b21fee..00000000000 --- a/docs/tutorials/020/server2.cpp +++ /dev/null @@ -1,31 +0,0 @@ - -// $Id$ - -#include "mmap.h" - -int -main (int, char *[]) -{ - ACE_Shared_Memory_MM shm_server (SHM_KEY, sizeof(SharedData) ); - - char *shm = (char *) shm_server.malloc (); - - ACE_DEBUG ((LM_INFO, "(%P|%t) Memory Mapped file is at 0x%x\n", - shm )); - - SharedData * sd = new(shm) SharedData; - - sd->set(); - sd->available(0); - - while ( ! sd->available() ) - ACE_OS::sleep (1); - - sd->show(); - - if (shm_server.remove () < 0) - ACE_ERROR ((LM_ERROR, "%p\n", "remove")); - - return 0; -} - |