Read-only archive of the All About Symbian forum (2001–2013) · About this archive

changing profiles in N7650

5 replies · 2,946 views · Started 20 January 2003

hi,

I'd like to change profiles in N7650 by using Symbian's C++, but there is no API. Could you write how to do it - there are some programs on the market that can do that.

You can, at least me or some other found a way.
Try to search this topic in Nokia Knowledge Network... (specifically search for "Profile (Series 60)"😉.

Hi Guys,

I am also interested in accessing the profiles on a 7650 for an application that I am working on. I would appreciate any information that you can give me. I will go search on the Nokia forums now, but I have looked there in the past and not found much information that was of help to me. So, if either one of you can point me in the right direction I would appreciate it.

In the forum nokia they suggest to change the profile database... c:\\system\\apps\\profileApp\\dbProfile.db . Changing the database is nice, but that does not activate the change.

There is a library in the SDK called PROFILEENGINE.LIB. If you use the dumpbin utility (it cames with visual studio) you can more or less see how the API is and generate a header file. The class you have to use is called CProfileAPI. The profiles are sorted, from 0 to n. The p0 profile is the general profile.
These are the methods anybody could use that I got from doing dumpbin... The others use structures that are not given but that wonderful utility:
static CProfileAPI * NewL(int);
static CProfileAPI * NewLC(int);
TProErrorCode SetProfileName(int number);
TProErrorCode GetProfileActiveName(TPtr16,int *);
TProErrorCode GetProfileNotification(int *,int);
TProErrorCode GetProfileMsgAlertTone(TBuf<256> *,int *,int);
TProErrorCode SetProfileName(int number);
TProErrorCode SilentIndicator(int &amp😉;
So what I would do to update the general profile is:
CProfileAPI* myProfile = CProfileAPI::NewL(0);
myProfile->SetProfileName(0);

Hello,

I use the following header file:

-----------------------------------------------------------------------
#ifndef __PROFILES_H
#define __PROFILES_H

class CProfileAPI;

class CProfileAPI 😛ublic CBase
{
public:
static CProfileAPI* NewL(int);
static CProfileAPI* NewLC(int);

IMPORT_C void SetProfileName(int);
};

#endif

------------------------------------------------------------------------

and then in the cpp file I have

CProfileAPI *iProfile;
iProfile->NewL(0);
iProfile->SetProfileName(0);

when I compile the code in msvc 6.0 I receive the following linking error:

error LNK2001: unresolved external symbol "public: void __thiscall CProfileAPI::SetProfileName(int)" (?SetProfileName@CProfileAPI@@QAEXH@Z)

if I compile in command line for armi or thumb it compiles perfectly but when I run the application it crashes. Where I do wrong ?