--- a/libtelepathy/tsrc/src/telepathygabblesearch.cpp Wed Mar 31 22:32:38 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/*
-* Copyright (c) 2008 - 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Used for Search Related Test Cases
-*
-*/
-
-
-
-
-//Include files
-#include <e32err.h>
-#include <e32const.h>
-#include <e32base.h>
-#include <glib.h>
-#include <TestScripterInternal.h>
-#include "telepathygabbleutils.h"
-#include "telepathygabblesearch.h"
-#include "telepathygabbletestdata.h"
-#include "tp-chan.h"
-#include "tp-conn-gen.h"
-
-
-
-
-//-----------------------------------------------------------------------------
-// function_name : CTelepathyGabbleSearch
-// description : constructor
-//-----------------------------------------------------------------------------
-
-CTelepathyGabbleSearch::CTelepathyGabbleSearch()
-{
-}
-
-//-----------------------------------------------------------------------------
-// function_name : ConstructL
-// description : constructor
-//-----------------------------------------------------------------------------
-void CTelepathyGabbleSearch::ConstructL()
-{
-
-}
-
-//-----------------------------------------------------------------------------
-// function_name : NewL
-// description : NewL
-//-----------------------------------------------------------------------------
-CTelepathyGabbleSearch* CTelepathyGabbleSearch::NewL()
- {
- CTelepathyGabbleSearch* self = new(ELeave) CTelepathyGabbleSearch;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-//-----------------------------------------------------------------------------
-// function_name : ~CTelepathyGabbleSearch
-// description : Destructor
-//-----------------------------------------------------------------------------
-CTelepathyGabbleSearch::~CTelepathyGabbleSearch()
- {
- }
-
-
-//-----------------------------------------------------------------------------
-// function_name : SearchL
-// description : Used for searching contacts
-//-----------------------------------------------------------------------------
-TInt CTelepathyGabbleSearch::SearchL( GHashTable *aDataToSearch, CTestData* aTestData )
-{
- Search_UserData *userData = new(ELeave) Search_UserData;
-
- userData->data_to_search = aDataToSearch;
- userData->testData = aTestData;
-
- iTestData = aTestData;
-
- if( iTestData->GetSearchChan() )
- {
- SearchAgainL( aDataToSearch, iTestData );
- //Run the mainloop
- g_main_loop_run (iTestData->GetMainLoop());
- }
- else
- {
- if (!tp_conn_request_channel_async( DBUS_G_PROXY( aTestData->GetTpConn() ),
- TP_IFACE_CHANNEL_TYPE_CONTACT_SEARCH,
- TP_CONN_HANDLE_TYPE_NONE, 0, TRUE,
- do_search_reply,(gpointer) userData ) )
-
- {
- return KErrGeneral;
- }
- //Run the mainloop
- g_main_loop_run (iTestData->GetMainLoop());
- DoSearchL( aDataToSearch, aTestData);
- }
-
-
-
-
- if(userData)
- {
- delete userData;
- userData = NULL;
- }
-
- //return the Message_sent that was updated in the callback sendmessage_cb
- return iTestData->GetSearchState();
-}
-
-//-----------------------------------------------------------------------------
-// function_name : SearchAgainL
-// description : Used for searching contacts second or more number of times
-//-----------------------------------------------------------------------------
-
- void CTelepathyGabbleSearch::SearchAgainL( GHashTable *aDataToSearch, CTestData* aTestData )
- {
-
- DBusGProxy *search_iface = NULL;
- TpChan *search_chan = NULL;
-
- if(aTestData)
- {
- search_chan = aTestData->GetSearchChan();
- }
- if ( NULL == search_chan )
- {
- return ;
- }
- //Get chan interface
- search_iface = tp_chan_get_interface( search_chan ,
- TELEPATHY_CHAN_IFACE_CONTACTSEARCH_QUARK );
-
- if ( NULL == search_iface )
- {
- return ;
- }
-
- //Call the search on tp
- tp_chan_type_search_async( search_iface, aDataToSearch, searchreply_cb,
- aTestData );
-
-
- }
-
-
-//-----------------------------------------------------------------------------
-// function_name : GetSearchKeysL
-// description : Used for getting search keys
-//-----------------------------------------------------------------------------
-TInt CTelepathyGabbleSearch::GetSearchKeysL( CTestData* aTestData )
-{
- Search_UserData *userData = new(ELeave) Search_UserData;
-
- userData->data_to_search = NULL;
- userData->testData = aTestData;
-
- iTestData = aTestData;
-
- if (!tp_conn_request_channel_async( DBUS_G_PROXY( aTestData->GetTpConn() ),
- TP_IFACE_CHANNEL_TYPE_CONTACT_SEARCH,
- TP_CONN_HANDLE_TYPE_NONE, 0, TRUE,
- do_search_reply,(gpointer) userData ) )
-
- {
- return KErrGeneral;
- }
-
- //Run the mainloop
- g_main_loop_run (aTestData->GetMainLoop());
-
- DoSearchL(NULL,aTestData);
-
- if(userData)
- {
- delete userData;
- userData = NULL;
- }
-
- //return the Message_sent that was updated in the callback sendmessage_cb
- return iTestData->GetSearchState();
-}
-
-
-void CTelepathyGabbleSearch::do_search_reply( DBusGProxy* /*proxy*/, char *chan_object_path,
- GError *error, gpointer user_data )
- {
- Search_UserData* userData = static_cast<Search_UserData*> (user_data);
- TpChan *search_chan = NULL;
-
- TInt search_state = userData->testData->GetSearchState();
-
-
- /* Create the object to represent the channel */
- if ( error )
- {
- userData->testData->SetSearchState(CTestData::ESearchError);
- return;
- }
- search_chan = tp_chan_new( userData->testData->GetDBusConnection(), CONNMGR_BUS, chan_object_path,
- TP_IFACE_CHANNEL_TYPE_CONTACT_SEARCH, TP_CONN_HANDLE_TYPE_NONE, 0 );
-
-
- g_free(chan_object_path);
-
-
- if ( NULL == search_chan )
- {
- userData->testData->SetSearchState(CTestData::ESearchError);
- return ;
- }
-
- userData->testData->SetSearchChan( search_chan );
-
- g_main_loop_quit(userData->testData->GetMainLoop());
-
-
- }
-
-
-void CTelepathyGabbleSearch::DoSearchL(GHashTable *aDataToSearch,CTestData *testData)
-{
- DBusGProxy *search_iface = NULL;
- TInt testType = testData->GetTestType();
-
- //Get chan interface
- search_iface = tp_chan_get_interface( testData->GetSearchChan(),
- TELEPATHY_CHAN_IFACE_CONTACTSEARCH_QUARK );
-
- if ( NULL == search_iface )
- {
- testData->SetSearchState(CTestData::ESearchError);
- return ;
- }
- //Register for the SearchResultReceived signal
- //ownership of the srch_result->user_data is transfered
- dbus_g_proxy_connect_signal( search_iface, "SearchResultReceived",
- G_CALLBACK( search_result_received_cb ),
- (gpointer)this, NULL );
-
-
- //Register for the SearchStateChanged signal
- dbus_g_proxy_connect_signal( search_iface, "SearchStateChanged",
- G_CALLBACK( search_state_changed_cb ),
- (gpointer)this, NULL );
-
- if( testType == CTestData::EGetSearchKeys )
- {
- //Call the getsearchkeys on tp
- tp_chan_type_search_get_search_keys_async(search_iface,getsearchkeys_cb, testData );
-
- }
- else if( testType == CTestData::ESearch )
- {
- //Call the search on tp
- tp_chan_type_search_async( search_iface, aDataToSearch,
- searchreply_cb, testData);
- }
-
- g_main_loop_run(testData->GetMainLoop());
-
-}
-void CTelepathyGabbleSearch::getsearchkeys_cb( DBusGProxy* /*proxy*/, gchar* /*instr*/,
- gchar** keys, GError *error, gpointer user_data )
-{
-CTestData* testData = static_cast<CTestData*> (user_data);
-
-if(!keys || error )
- {
- testData->SetSearchState( CTestData::ESearchError );
- }
-
-if(keys)
- {
- testData->GetStifLogger()->Log( _L("getsearchkeys_cb:SearchKeysFound") );
- testData->SetSearchState( CTestData::ESearchKeysFound );
- testData->SetSearchKeys(keys);
- }
-g_main_loop_quit(testData->GetMainLoop());
-
-}
-
-
-
-void CTelepathyGabbleSearch::searchreply_cb( DBusGProxy* /*proxy*/, GError *error, gpointer user_data )
-{
- CTestData* testData = static_cast<CTestData*> (user_data);
- TInt testType = testData->GetTestType();
-
- testData->GetStifLogger()->Log( _L("searchreply_cb") );
-
- if ( testType == CTestData::ESearch )
- {
- if(error)
- {
- testData->GetStifLogger()->Log( _L("Error in search") );
- testData->SetSearchState(CTestData::ESearchError);
- tp_chan_close_async( DBUS_G_PROXY( testData->GetSearchChan() ), search_chan_closed_cb, testData );
- }
- }
-
-}
-
-
-
-
-void CTelepathyGabbleSearch::search_result_received_cb ( DBusGProxy* /*proxy*/,
- guint /*contact_handle*/,
- GHashTable *values,
- gpointer user_data
- )
-{
-CTelepathyGabbleSearch* search_userData = static_cast<CTelepathyGabbleSearch*> (user_data);
-guint result_count = 0;
-
-//iTestData->GetStifLogger()->Log( _L("search_result_received_cb") );
-search_userData->GetTestData()->GetStifLogger()->Log( _L("search_result_received_cb") );
-
-if(values )
- result_count = g_hash_table_size(values);
-
-
-//do this later
-/*if(result_count)
- {
- g_hash_table_foreach(values,setfield_foreach,NULL);
- }*/
-
-
-}
-
-void CTelepathyGabbleSearch::search_state_changed_cb ( DBusGProxy* /*proxy*/,
- guint search_state,
- gpointer user_data
- )
-{
-CTelepathyGabbleSearch* search_userData = static_cast<CTelepathyGabbleSearch*> (user_data);
-DBusGProxy *search_iface = NULL;
-GError **err = NULL;
-guint *state = NULL;
-TpChan *search_chan = NULL;
-CTestData* testData = search_userData->GetTestData();
-
-if(search_userData && testData )
- {
- testData->GetStifLogger()->Log( _L("search_state_changed_cb") );
- search_chan = testData->GetSearchChan();
- }
-
-
-if( search_state == TP_CHANNEL_CONTACT_SEARCH_STATE_AFTER && search_userData && search_chan )
- {
- testData->SetSearchState(CTestData::ESearchCompleted);
- search_iface = tp_chan_get_interface( search_chan,
- TELEPATHY_CHAN_IFACE_CONTACTSEARCH_QUARK );
- tp_chan_type_search_get_search_state( search_iface,state,err);
- g_main_loop_quit(testData->GetMainLoop());
- }
-
-}
-
-void CTelepathyGabbleSearch::search_chan_closed_cb ( DBusGProxy* /*proxy*/,
- GError *error,
- gpointer user_data
- )
-{
-CTestData* testData = static_cast<CTestData*> (user_data);
-
-testData->GetStifLogger()->Log( _L("search_chan_closed_cb") );
-if(error)
- {
- testData->GetStifLogger()->Log( _L("search_chan_closed_cb : Error ") );
- testData->SetSearchState(CTestData::ESearchError);
- }
-else
- {
-
- TInt testType = testData->GetTestType();
- if( testType == CTestData::EGetSearchKeys )
- {
- testData->SetSearchState(CTestData::ESearchKeysFound);
- testData->GetStifLogger()->Log( _L("search_chan_closed_cb : SearchKeysFound ") );
- }
- else if( testType == CTestData::ESearch )
- {
- testData->SetSearchState(CTestData::ESearchCompleted);
- testData->GetStifLogger()->Log( _L("search_chan_closed_cb : SearchCompleted ") );
- }
- }
-g_main_loop_quit(testData->GetMainLoop());
-}
-
-CTestData* CTelepathyGabbleSearch::GetTestData()
- {
- return iTestData;
- }
-
-/*void CTelepathyGabbleSearch::setfield_foreach (gpointer key, gpointer value, gpointer user_data)
-{
- gchar *k = (gchar *) key;
- const char *v = g_value_get_string ( (const GValue*)value);
- CTestData* testdata = static_cast<CTestData*> (user_data);
-
- //testdata->GetStifLogger()->Log( _L("setfield_foreach") );
-
-}*/
-
-void CTelepathyGabbleSearch::CloseChannel( CTestData* aTestdata )
- {
- if( aTestdata->GetSearchChan() )
- {
- tp_chan_close_async( DBUS_G_PROXY( aTestdata->GetSearchChan() ), search_chan_closed_cb, aTestdata );
- }
- //Run the mainloop
- g_main_loop_run (aTestdata->GetMainLoop());
- }
-
-// End of File