diff options
Diffstat (limited to 'examples/Registry')
-rw-r--r-- | examples/Registry/Registry.dsp | 69 | ||||
-rw-r--r-- | examples/Registry/Registry.dsw | 41 | ||||
-rw-r--r-- | examples/Registry/test_registry_iterator.cpp | 133 | ||||
-rw-r--r-- | examples/Registry/test_registry_update.cpp | 149 | ||||
-rw-r--r-- | examples/Registry/update.dsp | 69 |
5 files changed, 0 insertions, 461 deletions
diff --git a/examples/Registry/Registry.dsp b/examples/Registry/Registry.dsp deleted file mode 100644 index 7b23483eee7..00000000000 --- a/examples/Registry/Registry.dsp +++ /dev/null @@ -1,69 +0,0 @@ -# Microsoft Developer Studio Project File - Name="iterator" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=iterator - 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 "Registry.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 "Registry.mak" CFG="iterator - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "iterator - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\iterator\Debug"
-# PROP BASE Intermediate_Dir ".\iterator\Debug"
-# PROP BASE Target_Dir ".\iterator"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ".\iterator"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\\" /I "..\..\STL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /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
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\..\ace"
-# Begin Target
-
-# Name "iterator - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\test_registry_iterator.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/examples/Registry/Registry.dsw b/examples/Registry/Registry.dsw deleted file mode 100644 index 8f6eb2d544b..00000000000 --- a/examples/Registry/Registry.dsw +++ /dev/null @@ -1,41 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "iterator"=.\Registry.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "update"=.\update.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/examples/Registry/test_registry_iterator.cpp b/examples/Registry/test_registry_iterator.cpp deleted file mode 100644 index fadd6e52f01..00000000000 --- a/examples/Registry/test_registry_iterator.cpp +++ /dev/null @@ -1,133 +0,0 @@ -// $Id$ - -// This example uses the ACE_Registry class to iterator through the -// entries in the predefined registries. The host of iteration can be -// varied through argv[1]. If no host is specified the local host is -// used. This is very similar to how regedt32 starts up. -// -// This examples points the cool iterators in ACE_Registry - -#include "ace/Registry.h" -#include "ace/streams.h" - -ACE_RCSID(Registry, test_registry_iterator, "$Id$") - -// Indentation while printing names -static const u_long INDENTATION_LEVEL = 3; - -// Prototypes -static int print_naming_context (ACE_Registry::Naming_Context &naming_context, - u_long indentation); -static void print_object (const ACE_Registry::Istring &name, - u_long indentation); -static void print_context (ACE_Registry::Naming_Context &parent, - const ACE_Registry::Istring &name, - u_long indentation); -static void indent (u_long indentation); - -int -main (int argc, char *argv[]) -{ - int result; - ACE_Registry::Naming_Context naming_context; - - // Connect to a predefined naming context - result = ACE_Predefined_Naming_Contexts::connect (naming_context, - HKEY_LOCAL_MACHINE, - // HKEY_CLASSES_ROOT, - // HKEY_USERS, - // HKEY_CURRENT_USER, - argc == 2 ? ACE_WIDE_STRING (argv[1]) : 0); - - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Predefined_Naming_Contexts::connect failed"), -1); - - // Print contents of naming context - result = ::print_naming_context (naming_context, 0); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "print_naming_context failed"), -1); - - return 0; -} - - -// Print contents of <naming_context> -static int -print_naming_context (ACE_Registry::Naming_Context &naming_context, - u_long indentation) -{ - ACE_Registry::Binding_List list; - - // Get the list of all entries - int result = naming_context.list (list); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Registry::Naming_Context::list"), -1); - - // Iterator through all entries - for (ACE_Registry::Binding_List::iterator i = list.begin (); - i != list.end (); - ++i) - { - // Yeeesss! STL rules! - ACE_Registry::Binding &binding = *i; - - if (binding.type () == ACE_Registry::OBJECT) - // If object - ::print_object (binding.name (), - indentation); - else - // If context - ::print_context (naming_context, - binding.name (), - indentation); - } - return 0; -} - - -// Print an object with <name> -static void -print_object (const ACE_Registry::Istring &name, - u_long indentation) -{ - // Set indentation - ::indent (indentation); - cout << name << endl; -} - - -// Print an context with <name> and <parent> -static void -print_context (ACE_Registry::Naming_Context &parent, - const ACE_Registry::Istring &name, - u_long indentation) -{ - // Set indentation - indent (indentation); - cout << name << endl; - - ACE_Registry::Naming_Context child_context; - // Find child context - int result = parent.resolve_context (name, - child_context, - KEY_READ); - if (result != 0) - ACE_ERROR ((LM_ERROR, "%s %s\n", "ACE_Registry::Naming_Context::resolve_context failed for:", name.c_str ())); - else - { - // Print contents of the child - result = ::print_naming_context (child_context, - indentation + INDENTATION_LEVEL); - if (result != 0) - ACE_ERROR ((LM_ERROR, "%p\n", "print_naming_context failed")); - } -} - - -// Pretty formating -static void -indent (u_long indentation) -{ - for (; indentation > 0; indentation--) - cout << " "; -} diff --git a/examples/Registry/test_registry_update.cpp b/examples/Registry/test_registry_update.cpp deleted file mode 100644 index 02c5a9a8ef6..00000000000 --- a/examples/Registry/test_registry_update.cpp +++ /dev/null @@ -1,149 +0,0 @@ -// $Id$ - -// Suppose this application belonged to AcmeSoft. AcmeSoft wants to -// keep track of the number of times this application is -// executed. They want two counters: one counts the number of -// executions per machine, the other keeps track of the number of -// executions per user. -// -// This application uses the ACE_Registry class to create and update -// entries in the LOCAL_MACHINE and CURRENT_USER predefined registries -// to store the counters. -// -// Note that this application will not work with remote registries -// if used with the CURRENT_USER predefined registry. - -#include "ace/Registry.h" -#include "ace/streams.h" - -ACE_RCSID(Registry, test_registry_update, "$Id$") - -// Name for application's naming context -static ACE_Registry::Name application_context_name; - -// Name for instance counter. -static ACE_Registry::Name counter_name; - -// Protypes -static int update_counter (HKEY predefined, - u_long ¤t_counter); -static void setup_names (); - -int -main(int argc, char *argv[]) -{ - int result; - u_long current_counter = 0; - - // initialize name - setup_names (); - - // Update counter per user - result = ::update_counter (HKEY_CURRENT_USER, - current_counter); - if (result == 0) - { - cout << "User counter: " << current_counter << endl; - - // Update counter per machine - result = ::update_counter (HKEY_LOCAL_MACHINE, - current_counter); - if (result == 0) - cout << "Machine counter: " << current_counter << endl; - } - - if (result != 0) - ACE_DEBUG ((LM_DEBUG, "test failed\n")); - else - ACE_DEBUG ((LM_DEBUG, "test succeeded\n")); - - return 0; -} - -static int -update_counter (HKEY predefined, - u_long ¤t_counter) -{ - int result; - ACE_Registry::Naming_Context parent_context; - ACE_Registry::Naming_Context application_context; - - // Connect to predefined entry - result = ACE_Predefined_Naming_Contexts::connect (parent_context, - predefined); - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Predefined_Naming_Contexts::connect failed"), -1); - - // Find application context name - result = parent_context.resolve_context (application_context_name, - application_context); - - if (result != 0) - // Failed to find: create a new context - result = parent_context.bind_new_context (application_context_name, - application_context); - - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Registry::Naming_Contexts::bind/resolve_context failed"), -1); - - // Counter - u_long counter = 0; - // Represent counter as an ACE_Registry::Object - ACE_Registry::Object object ((void *) &counter, - sizeof counter, - REG_DWORD); - // Find counter - result = application_context.resolve (counter_name, - object); - - if (result != 0) - // Failed to find: create new binding for object - { - counter = 1; - result = application_context.bind (counter_name, - object); - } - else - // Counter was found - { - // increment counter - counter++; - // Update - result = application_context.rebind (counter_name, - object); - } - - if (result != 0) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Registry::Naming_Contexts::bind/resolve failed"), -1); - else - current_counter = counter; - - return 0; -} - - -static void -setup_names () -{ - // Stupid implementation of STL is broken - /* - ::application_context_name.reserve (4); - ::application_context_name [0].id_ = ACE_TEXT ("Software"); - ::application_context_name [1].id_ = ACE_TEXT ("AcmeSoft"); - ::application_context_name [2].id_ = ACE_TEXT ("AcmeApplication"); - ::application_context_name [3].id_ = ACE_TEXT ("1.0"); - - ::counter_name.reserve (1); - ::counter_name [0].id_ = ACE_TEXT ("Instance Counter"); - */ - - ACE_Registry::Name_Component component; - - component.id_ = ACE_TEXT ("Software"), ::application_context_name.insert (component); - component.id_ = ACE_TEXT ("AcmeSoft"), ::application_context_name.insert (component); - component.id_ = ACE_TEXT ("AcmeApplication"), ::application_context_name.insert (component); - component.id_ = ACE_TEXT ("1.0"), ::application_context_name.insert (component); - - component.id_ = ACE_TEXT ("Instance Counter"), ::counter_name.insert (component); -} - diff --git a/examples/Registry/update.dsp b/examples/Registry/update.dsp deleted file mode 100644 index 38d66da2072..00000000000 --- a/examples/Registry/update.dsp +++ /dev/null @@ -1,69 +0,0 @@ -# Microsoft Developer Studio Project File - Name="update" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=update - 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 "update.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 "update.mak" CFG="update - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "update - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\update\Debug"
-# PROP BASE Intermediate_Dir ".\update\Debug"
-# PROP BASE Target_Dir ".\update"
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir ".\debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ".\update"
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /YX /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "..\..\\" /I "..\..\STL" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /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
-# ADD LINK32 aced.lib /nologo /subsystem:console /debug /machine:I386 /libpath:"..\..\ace"
-# Begin Target
-
-# Name "update - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\test_registry_update.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
|