<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.newlc.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>NewLC - Symbian Active Object Framework - A Classic Example for Open Closed Principle - Comments</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html</link>
 <description>Comments for &quot;Symbian Active Object Framework - A Classic Example for Open Closed Principle&quot;</description>
 <language>en</language>
<item>
 <title>Re: Symbian Active Object Framework - A Classic </title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-46808</link>
 <description>&lt;p&gt;&quot;We should not be setting the istatus variable with the value as set above. Is it right(correct me if not)?&quot;&lt;/p&gt;

&lt;p&gt;It is the asynchronous function that is being called that should be setting the status to KRequestPending.&lt;/p&gt;</description>
 <pubDate>Mon, 02 Jun 2008 23:34:08 +0200</pubDate>
 <dc:creator>Numpty Alert</dc:creator>
 <guid isPermaLink="false">comment 46808 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Symbian Active Object Framework - A Classic Example for Open</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-45438</link>
 <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I also a beginner in this active objects and i have watched ur replies. Can u send me a simple&lt;br /&gt;
example for understanding active objects.&lt;/p&gt;

&lt;p&gt;Thanks and regards,&lt;br /&gt;
Satish Khatri&lt;br /&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;eval(unescape(&#039;%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%73%61%74%69%73%68%6d%61%69%6c%32%33%40%72%65%64%69%66%66%6d%61%69%6c%2e%63%6f%6d%22%3e%73%61%74%69%73%68%6d%61%69%6c%32%33%40%72%65%64%69%66%66%6d%61%69%6c%2e%63%6f%6d%3c%2f%61%3e%27%29%3b&#039;))&lt;/script&gt;&lt;/p&gt;</description>
 <pubDate>Mon, 31 Mar 2008 09:35:13 +0200</pubDate>
 <dc:creator>satishkhatri</dc:creator>
 <guid isPermaLink="false">comment 45438 at http://www.newlc.com</guid>
</item>
<item>
 <title> Symbian Active Object Framework - A Classic Example</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-40467</link>
 <description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;    I also a beginner in this active objects and i have watched ur replies.  Can u send me a simple &lt;br /&gt;
example for understanding active objects.&lt;/p&gt;

&lt;p&gt;Thanks and regards,&lt;/p&gt;

&lt;p&gt;Jobin&lt;/p&gt;</description>
 <pubDate>Mon, 06 Aug 2007 08:36:33 +0200</pubDate>
 <dc:creator>jobin.tech</dc:creator>
 <guid isPermaLink="false">comment 40467 at http://www.newlc.com</guid>
</item>
<item>
 <title>Symbian Active Object Framework - A Classic Example for Open Clo</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2314</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;&lt;p class=&quot;spip&quot;&gt;This is a very bad example of the use of active objects if the intention is to try and help beginners know how to use them.&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;The reason is its stopping the active scheduler. An active object shouldn&#039;t start or stop the active scheduler (and if it does its a very advanced case and you must definatly know exactly what you are doing any why before doing that).&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;A test active object can start and stop the active scheduler, but a production active object shouldn&#039;t. So for any beginners reading this article, please don&#039;t think this is a good example.&lt;/p&gt;&lt;/div&gt;</description>
 <pubDate>Mon, 26 Mar 2007 21:28:08 +0200</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 2314 at http://www.newlc.com</guid>
</item>
<item>
 <title>Symbian Active Object Framework - A Classic Example for Open Clo</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2313</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;&lt;p class=&quot;spip&quot;&gt;I am very new in Symbian but i have question here on the code example. In the function&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;CMyActiveObject::RequestFunction( TRequestType aRequest ) 
&lt;i class=&quot;spip&quot;&gt;
 iRequest = aRequest;
 iStatus = KRequestPending;
&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;We should not be setting the istatus variable with the value as set above. Is it right(correct me if not)?&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Could someone post an working example code for active objects please(.h .cpp, and client code which uses these)&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Thanks in advance... 
Sreenn&lt;/p&gt;&lt;/div&gt;</description>
 <pubDate>Thu, 08 Feb 2007 10:40:11 +0100</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 2313 at http://www.newlc.com</guid>
</item>
<item>
 <title>Symbian Active Object Framework - A Classic Example for Open Clo</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2312</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;In the header file above, a tilde is missing from the destructor prototype.&lt;/div&gt;</description>
 <pubDate>Mon, 27 Nov 2006 12:01:09 +0100</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 2312 at http://www.newlc.com</guid>
</item>
<item>
 <title>&gt; Symbian Active Object Framework - A Classic Example for Open C</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2318</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;I figured out the problem with my code.. and it was something stupid.. 
Basically in the header file for The LIne status monitoring I had declared a TRequestStatus
 iStatus variable... which was confusing that Active Object as to which iState variable would be used.
Dumb... but it tok me a day and a half to figure it out.. 
hope that helps anybody else who runs into something similar..&lt;/div&gt;</description>
 <pubDate>Fri, 05 Aug 2005 03:54:44 +0200</pubDate>
 <dc:creator>Alok</dc:creator>
 <guid isPermaLink="false">comment 2318 at http://www.newlc.com</guid>
</item>
<item>
 <title>&gt; Symbian Active Object Framework - A Classic Example for Open C</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2311</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;&lt;p class=&quot;spip&quot;&gt;Hi,
    Read through your tutorial and have this strange problem with using multiple Active Objects.  Two to be precise.  I have two active objects, 1 to monitor the recent call log and the other to monitor the Line status of the phone.  I am posting the .cpp code for both below.&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;For the Line Manager&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;&lt;tt&gt;&lt;div align=&#039;left&#039; class=&#039;spip_code&#039; dir=&#039;ltr&#039;&gt;CStatusManager* CStatusManager::NewL(MStatusManagerObserver* aObserver, TInt aTimeout)&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;CStatusManager* self = new (ELeave) CStatusManager(aObserver, aTimeout);&lt;br /&gt;
 &amp;nbsp;CleanupStack::PushL(self);&lt;br /&gt;
 &amp;nbsp;self-&amp;gt;ConstructL();&lt;br /&gt;
 &amp;nbsp;CleanupStack::Pop(self);&lt;br /&gt;
 &amp;nbsp;return self;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
CStatusManager::CStatusManager(MStatusManagerObserver* aObserver, TInt aTimeout)&lt;br /&gt;
 &amp;nbsp;: CActive(CActive::EPriorityHigh), iObserver(aObserver), iTimeout(aTimeout)&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;CActiveScheduler::Add(this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
CStatusManager::~CStatusManager()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;Cancel();&lt;br /&gt;
 &amp;nbsp;iTimer.Close();&lt;br /&gt;
 &amp;nbsp;delete iObserver;&lt;br /&gt;
&lt;br /&gt;
 &amp;nbsp;//Added this &lt;br /&gt;
 &amp;nbsp;iLine.Close();&lt;br /&gt;
 &amp;nbsp;iPhone.Close();&lt;br /&gt;
 &amp;nbsp;iTelServer.Close();&lt;br /&gt;
 &amp;nbsp;//End Add&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CStatusManager::ConstructL()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt ret;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ret=iTelServer.Connect();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt Numberphones;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ret=iTelServer.EnumeratePhones(Numberphones);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(Numberphones&amp;gt;0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetDefaultTSY();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt ret=iTelServer.LoadPhoneModule(iTsyName);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(ret!=KErrNone)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::After(5000000);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Creating a phone connected to server&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RTelServer::TPhoneInfo PhoneInfo;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iTelServer.GetPhoneInfo(0,PhoneInfo);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iPhone.Open(iTelServer,PhoneInfo.iName);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt aCount;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iPhone.EnumerateLines(aCount);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(aCount&amp;gt;0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RPhone::TLineInfo LineInfo;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iPhone.GetLineInfo(0,LineInfo);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt ret=iLine.Open(iPhone,LineInfo.iName);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //iObserver-&amp;gt;DispInt(ret);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CStatusManager::Reset()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;Cancel();&lt;br /&gt;
 &amp;nbsp;Start();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CStatusManager::DoCancel()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp; iLine.NotifyStatusChangeCancel();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CStatusManager::Start()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;if (!IsActive())&lt;br /&gt;
 &amp;nbsp;{&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Cancel();//Just in case&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iLine.NotifyStatusChange(iStatus,iLineStatus);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SetActive();&lt;br /&gt;
 &amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CStatusManager::RunL()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;TBuf&amp;lt;99&amp;gt; Msg;&lt;br /&gt;
 &amp;nbsp;char a[99];&lt;br /&gt;
 &amp;nbsp;if (iStatus == KErrNone)&lt;br /&gt;
 &amp;nbsp;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch(iLineStatus)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//Monitor different line status here&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iLine.NotifyStatusChange(iStatus,iLineStatus);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SetActive();&lt;br /&gt;
 &amp;nbsp;}&lt;br /&gt;
 &amp;nbsp;else&lt;br /&gt;
 &amp;nbsp;{&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//this is debuggin code&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iObserver-&amp;gt;StatusChange(this,&amp;quot;Crap&amp;quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TInt a=iStatus.Int();&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iObserver-&amp;gt;DispInt(a);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::After(5000000);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this-&amp;gt;Deque();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ConstructL();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Start();&lt;br /&gt;
 &amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void CStatusManager::GetDefaultTSY()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TUint32 modemId = 0;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CCommsDatabase* db = CCommsDatabase::NewL(EDatabaseTypeUnspecified);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PushL(db);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; db-&amp;gt;GetGlobalSettingL(TPtrC(MODEM_DATA_FAX), modemId);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Now read the TSY name from the modem table record&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CCommsDbTableView* tableView =&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;db-&amp;gt;OpenViewMatchingUintLC (TPtrC(MODEM),TPtrC(COMMDB_ID),modemId);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::LeaveIfError(tableView-&amp;gt;GotoFirstRecord());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tableView-&amp;gt;ReadTextL(TPtrC(MODEM_TSY_NAME),iTsyName);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PopAndDestroy(tableView);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PopAndDestroy(db);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MStatusManagerObserver::AccessCallLog()&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MStatusManagerObserver::StatusChange(CStatusManager* aStatusManager,char *status)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MStatusManagerObserver::StatusDetected(CStatusManager* aStatusManager)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MStatusManagerObserver::InStatusDetected(CStatusManager* aStatusManager)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MStatusManagerObserver::DispInt(TInt &amp;amp;aArg)&lt;br /&gt;
{&lt;br /&gt;
}&lt;/div&gt;&lt;/tt&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;For Accessing the Call Logs
&lt;tt&gt;&lt;div align=&#039;left&#039; class=&#039;spip_code&#039; dir=&#039;ltr&#039;&gt;CInCallNumber* CInCallNumber::NewL(MNumberObserver* aObserver)&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;CInCallNumber* self = new (ELeave) CInCallNumber(aObserver);&lt;br /&gt;
 &amp;nbsp;CleanupStack::PushL(self);&lt;br /&gt;
 &amp;nbsp;self-&amp;gt;ConstructL();&lt;br /&gt;
 &amp;nbsp;CleanupStack::Pop(self);&lt;br /&gt;
 &amp;nbsp;return self;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
CInCallNumber::CInCallNumber(MNumberObserver* aObserver)&lt;br /&gt;
 &amp;nbsp;: CActive(CActive::EPriorityHigh), iObserver(aObserver)&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;CActiveScheduler::Add(this);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
CInCallNumber::~CInCallNumber()&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
 &amp;nbsp;Cancel();&lt;br /&gt;
 &amp;nbsp;delete iObserver;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CInCallNumber::ConstructL()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RFs aFs;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; aFs.Connect();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iLogClient = CLogClient::NewL(aFs);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::LeaveIfNull(iLogClient);&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iLogViewRecent = CLogViewRecent::NewL(*iLogClient);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::LeaveIfNull(iLogViewRecent);&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iLogFilter = CLogFilter::NewL();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::LeaveIfNull(iLogFilter);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iLogFilter-&amp;gt;SetEventType(KLogCallEventTypeUid);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //SetupFilterL(iLogViewRecent,iLogFilter);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _LIT(Error,&amp;quot;Ended ConstructL of CallLg&amp;quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TBuf&amp;lt;50&amp;gt; temp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; temp.Copy(Error);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iObserver-&amp;gt;DisplayNumber(temp);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CInCallNumber::DoCancel()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;iLogClient-&amp;gt;NotifyChangeCancel();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CInCallNumber::SetupNotify()&lt;br /&gt;
{&lt;br /&gt;
 &amp;nbsp;if (!IsActive())&lt;br /&gt;
 &amp;nbsp;{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iLogViewRecent-&amp;gt;SetRecentListL(KLogNullRecentList,*iLogFilter,iStatus);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SetActive();&lt;br /&gt;
 &amp;nbsp;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void CInCallNumber::RunL()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(iStatus==KErrNone)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::After(1000000);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iNumCall=iLogViewRecent-&amp;gt;CountL();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //iObserver-&amp;gt;DisplayInt(iNumCall);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if(iNumCall&amp;gt;0)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iObserver-&amp;gt;StatusChange(this,&amp;quot;dialling&amp;quot;);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; const CLogEvent&amp;amp; event=iLogViewRecent-&amp;gt;Event();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TBuf&amp;lt;20&amp;gt; icallno=event.Number();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iObserver-&amp;gt;DisplayNumber(icallno);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WForNot=EFalse;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iObserver-&amp;gt;StatusChange(this,&amp;quot;idd&amp;quot;);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _LIT(Error,&amp;quot;got an error from get number&amp;quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TBuf&amp;lt;30&amp;gt; temp;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; temp.Copy(Error);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iObserver-&amp;gt;DisplayNumber(temp);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
void MNumberObserver::StatusChange(CInCallNumber* aStatusManager,char *status)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MNumberObserver::StatusDetected(CInCallNumber* aStatusManager)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MNumberObserver::InStatusDetected(CInCallNumber* aStatusManager)&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void MNumberObserver::DisplayNumber(TDesC &amp;amp;aArg)&lt;br /&gt;
{&lt;br /&gt;
}&lt;/div&gt;&lt;/tt&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;and this is how I am calling them from a Main Function.
&lt;tt&gt;&lt;div align=&#039;left&#039; class=&#039;spip_code&#039; dir=&#039;ltr&#039;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CActiveScheduler *sched = new (ELeave) CActiveScheduler();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PushL(sched);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CActiveScheduler::Install(sched);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //For getting the Number&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NumObserver=new (ELeave) MNumberObserver();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PushL(NumObserver);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ExNumber=CInCallNumber::NewL(NumObserver);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::Pop(NumObserver);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ExNumber-&amp;gt;SetupNotify();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //Observing the line status&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CStatusManager* iStatusManager;&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MStatusManagerObserver *iStatusManagerObserver;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iStatusManagerObserver = new (ELeave) MStatusManagerObserver();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::PushL(iStatusManagerObserver);&lt;br /&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iStatusManager = CStatusManager::NewL(iStatusManagerObserver, 10);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CleanupStack::Pop(iStatusManagerObserver);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iStatusManager-&amp;gt;Start();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CActiveScheduler::Start();&lt;/div&gt;&lt;/tt&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Ok so after this really long code, just wanted to add that I am developing a console application.
Now When i run this application of an Nokia 6620 phone, the RunL of the Line status function executes, but the iStatus is KRequestPending.  Both of these AOs work fine independently.. so I am not sure what to do in order to figure out what the problem is.  The issue seems to be with the time when both the asynchronus requests are isseud.
Any guidance would be apprieciated.. 
Thanks
&lt;br /&gt;&amp;nbsp;alok&lt;/p&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 05 Aug 2005 00:31:06 +0200</pubDate>
 <dc:creator>Alok</dc:creator>
 <guid isPermaLink="false">comment 2311 at http://www.newlc.com</guid>
</item>
<item>
 <title>&gt; Symbian Active Object Framework - A Classic Example for Open C</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2317</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;You have to use  &lt;tt&gt;&lt;span class=&#039;spip_code&#039; dir=&#039;ltr&#039;&gt; ... &lt;/span&gt;&lt;/tt&gt; tags around your code to make it looks like code !!!
I have copy pasted your code at the end of the article.&lt;/div&gt;</description>
 <pubDate>Wed, 03 Aug 2005 09:42:41 +0200</pubDate>
 <dc:creator>eric</dc:creator>
 <guid isPermaLink="false">comment 2317 at http://www.newlc.com</guid>
</item>
<item>
 <title>&gt; Symbian Active Object Framework - A Classic Example for Open C</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2316</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;&lt;p class=&quot;spip&quot;&gt;Hi Girish,&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Thanks for the help i will try with ur code.If incase Iam unable to get the desired output
i will contact you.&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Thanks for the help.&lt;/p&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 02 Aug 2005 07:03:55 +0200</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 2316 at http://www.newlc.com</guid>
</item>
<item>
 <title>&gt; Symbian Active Object Framework - A Classic Example for Open C</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2315</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;&lt;p class=&quot;spip&quot;&gt;Hi,&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;I could not get any way of attaching files with this thread. So, I am adding code with this only. May be you can mail me at Girish.Shetty@nokia.com if in case you are still not sure about the implementation and usage of Active Object so that I can mail you the code..&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;I am copy-pasting the working code directly, so formatting of the text/code may look very bad in this!&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Here it goes:&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;=======================================================&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;//In Header File: MyActiveObject.h&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;#ifndef MYACTIVEOBJECT_H
#define MYACTIVEOBJECT_H&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;#include &amp;lt;e32base.h&amp;gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;class CMyActiveObject  : public CActive
	&lt;i class=&quot;spip&quot;&gt;
	public:
		enum TRequestType
			&lt;i class=&quot;spip&quot;&gt;
			ECount,
			EStop
			&lt;/i&gt;;
	public:
		CMyActiveObject( TRequestType aRequest = ECount, 
				TInt aPriority = EPriorityStandard );
		void DoCancel();
		void RunL();
		void RequestFunction( TRequestType aRequest );
		void ReadyToGo();
		void SetIncrementCounter( TInt aCount = 1 );
		TUint CountValue () const;
		~CMyActiveObject();
		
	private:
			
		TUint iCount;
		TUint iIncrementCount;
		TRequestType iRequest;
	&lt;/i&gt;;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;#endif //MYACTIVEOBJECT_H&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;=======================================================&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;//Corresponding .cpp file
//MyActiveObject.cpp&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;#include &quot;MyActiveObject.h&quot;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::CMyActiveObject
// Description: CMyActiveObject constructer
// -----------------------------------------------------------------------------
//
CMyActiveObject::CMyActiveObject( TRequestType aRequest, TInt aPriority ) :
	CActive( aPriority ), iCount( 0 ), iIncrementCount( 1 ), iRequest( aRequest )
	&lt;i class=&quot;spip&quot;&gt;
	CActiveScheduler::Add( this );
	&lt;/i&gt;
	
// -----------------------------------------------------------------------------
// CMyActiveObject::~CMyActiveObject
// Description: CMyActiveObject Destructer
// -----------------------------------------------------------------------------
//
CMyActiveObject::~CMyActiveObject()
	&lt;i class=&quot;spip&quot;&gt;
	Cancel();
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::RequestFunction
// Description: Request Function for CMyActiveObject
// -----------------------------------------------------------------------------
//
void CMyActiveObject::RequestFunction( TRequestType aRequest )
	&lt;i class=&quot;spip&quot;&gt;
	iRequest = aRequest;
	iStatus = KRequestPending;
	if( !IsActive() )
		&lt;i class=&quot;spip&quot;&gt;
		SetActive();
		&lt;/i&gt;
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::ReadyToGo
// Description: This calls CMyActiveObject&#039;s RunL
// -----------------------------------------------------------------------------
//
void CMyActiveObject::ReadyToGo()
	&lt;i class=&quot;spip&quot;&gt;
	TRequestStatus* status = &amp;iStatus;
	User::RequestComplete( status, KErrNone );
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::DoCancel
// Description: This calls CActive&#039;s Cancel
// -----------------------------------------------------------------------------
//
void CMyActiveObject::DoCancel()
	&lt;i class=&quot;spip&quot;&gt;
	
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::SetIncrementCounter
// Description: Sets Increment Counter of CMyActiveObject
// -----------------------------------------------------------------------------
//
void CMyActiveObject::SetIncrementCounter( TInt aCount)
	&lt;i class=&quot;spip&quot;&gt;
	iIncrementCount = aCount;
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::RunL
// Description: CActive::RunL implementation which will either stop the
// Scheduler or increment the count
// -----------------------------------------------------------------------------
//
void CMyActiveObject::RunL()
	&lt;i class=&quot;spip&quot;&gt;
	switch(iRequest)
		&lt;i class=&quot;spip&quot;&gt;
		case ECount:
			&lt;i class=&quot;spip&quot;&gt;
			iCount += iIncrementCount;
			break;
			&lt;/i&gt;
		case EStop:
			&lt;i class=&quot;spip&quot;&gt;
			CActiveScheduler::Stop();
			break;
			&lt;/i&gt;
		default:
			&lt;i class=&quot;spip&quot;&gt;
			break;
			&lt;/i&gt;
		&lt;/i&gt;
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;// -----------------------------------------------------------------------------
// CMyActiveObject::CountValue 
// Description: Returns Count Value of CMyActiveObject
// -----------------------------------------------------------------------------
//
TUint CMyActiveObject::CountValue () const
	&lt;i class=&quot;spip&quot;&gt;
	return iCount;
	&lt;/i&gt;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;=======================================================
//Usage... SomeOtherCpp.cpp&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;#include &quot;MyActiveObject.h&quot;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;const TInt KErrActiveObjCount = -1001;&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;TInt UseMyActiveObjectL( TUint  aCount )
	&lt;i class=&quot;spip&quot;&gt;
	TInt retVal ( KErrNone );&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;//Create one Active Object for Count purpose
	CMyActiveObject* object1 = new( ELeave ) CMyActiveObject;
	object1-&gt;SetIncrementCounter( aCount);
	object1-&gt;RequestFunction( CMyActiveObject::ECount );
	CleanupStack::PushL( object1 );&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;//Create one Active Object for Stopping Scheduler
	CMyActiveObject* object2 = new( ELeave ) CMyActiveObject;
	object2-&gt;RequestFunction( CMyActiveObject::EStop );
	
             //Issue the Request
	object1-&gt;ReadyToGo();
	object2-&gt;ReadyToGo();&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;//Start the Scheduler
	CActiveScheduler::Start();
		
	if( object1-&gt;CountValue() != aCount )
		&lt;i class=&quot;spip&quot;&gt;
		retVal = KErrActiveObjCount;
		&lt;/i&gt;
	
	delete object2;
	CleanupStack::PopAndDestroy( object1 );
	return retVal;
	&lt;/i&gt;&lt;/p&gt;

&lt;hr class=&quot;spip&quot; /&gt;
&lt;p class=&quot;spip&quot;&gt;I hope you might have got some idea now...&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Regards
Girish&lt;/p&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 02 Aug 2005 06:52:59 +0200</pubDate>
 <dc:creator>Girish Shetty</dc:creator>
 <guid isPermaLink="false">comment 2315 at http://www.newlc.com</guid>
</item>
<item>
 <title>&gt; Symbian Active Object Framework - A Classic Example for Open C</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comment-2310</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;&lt;p class=&quot;spip&quot;&gt;hi,
         The article is informative one.Iam a novoice user of symbian,and Iam developing an application
which involves active object,I tryed but Iam not getting the desired output.Can you send an example
(if possible both header and cpp) which includes use of Active Objects&lt;/p&gt;

&lt;p class=&quot;spip&quot;&gt;Thanks&lt;/p&gt;&lt;/div&gt;</description>
 <pubDate>Tue, 02 Aug 2005 05:13:42 +0200</pubDate>
 <dc:creator>Anonymous</dc:creator>
 <guid isPermaLink="false">comment 2310 at http://www.newlc.com</guid>
</item>
<item>
 <title>Symbian Active Object Framework - A Classic Example for Open Closed Principle</title>
 <link>http://www.newlc.com/Symbian-Active-Object-Framework-A.html</link>
 <description>&lt;div class=&quot;spip-content&quot;&gt;Some light on C++ OCP Design principle and Symbian Active Object Framework&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://www.newlc.com/Symbian-Active-Object-Framework-A.html&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.newlc.com/Symbian-Active-Object-Framework-A.html#comments</comments>
 <category domain="http://www.newlc.com/taxonomy/term/1">Basics</category>
 <category domain="http://www.newlc.com/newlc/term/111">Active Object</category>
 <pubDate>Mon, 01 Aug 2005 17:32:42 +0200</pubDate>
 <dc:creator>girishshetty</dc:creator>
 <guid isPermaLink="false">638 at http://www.newlc.com</guid>
</item>
</channel>
</rss>
