diff -r f345bda72bc4 -r 43e37759235e Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/publishpe_8cpp-source.html --- a/Symbian3/Examples/guid-6013a680-57f9-415b-8851-c4fa63356636/publishpe_8cpp-source.html Tue Mar 30 11:56:28 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ - -
-00001 // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). -00002 // All rights reserved. -00003 // This component and the accompanying materials are made available -00004 // under the terms of "Eclipse Public License v1.0" -00005 // which accompanies this distribution, and is available -00006 // at the URL "http://www.eclipse.org/legal/epl-v10.html". -00007 // -00008 // Initial Contributors: -00009 // Nokia Corporation - initial contribution. -00010 // -00011 // Contributors: -00012 // -00013 // Description: -00014 // Demonstrates the pure event distribution pattern of publishing an integer property -00015 // -00016 -00017 -00018 -00023 #include "publishpe.h" -00024 -00025 LOCAL_D CConsoleBase* console; -00026 -00027 void DoExampleL() -00028 { -00029 console->Printf(KTxtPEPublish); -00030 RProperty myProperty; -00031 -00032 // Define the property and create a handle to it -00033 User::LeaveIfError(RProperty::Define(KMyPropertyCat, KMyPropertyName,RProperty::EInt,KAllowAllPolicy,KAllowAllPolicy)); -00034 User::LeaveIfError(myProperty.Attach(KMyPropertyCat,KMyPropertyName,EOwnerThread)); -00035 -00036 // The value of the property -00037 TInt value; -00038 -00039 // Publish the property after every 3 seconds -00040 for(TInt ix = 0; ix <= KMax ; ix += 20) -00041 { -00042 User::After(KTimeInterval); -00043 // Publish random values -00044 // In the pure event pattern of publishing, the value of the property is insignificant -00045 // Multiple publishing is only to let the subscriber know that an event has occurred -00046 value = Math::Random(); -00047 console->Printf(KTxtInt,value); -00048 User::LeaveIfError(myProperty.Set(value)); -00049 } -00050 -00051 // Free the handle to the property -00052 myProperty.Close(); -00053 -00054 // The publisher has finished so delete the property -00055 User::LeaveIfError(RProperty::Delete(KMyPropertyCat,KMyPropertyName)); -00056 } -00057 -00058 GLDEF_C TInt E32Main() -00059 { -00060 __UHEAP_MARK; -00061 CTrapCleanup* cleanup = CTrapCleanup::New(); -00062 -00063 TRAPD(createError, console = Console::NewL(KTextConsoleTitle, TSize(KConsFullScreen,KConsFullScreen))); -00064 if (createError) -00065 return createError; -00066 -00067 TRAPD(mainError, DoExampleL()); -00068 if (mainError) -00069 console->Printf(KTextFailed, mainError); -00070 console->Printf(KTextPressAnyKey); -00071 console->Getch(); -00072 -00073 delete console; -00074 delete cleanup; -00075 __UHEAP_MARKEND; -00076 return KErrNone; -00077 } -