[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnokii/common/phones nk6100.c,1.150,1.151 nk6510.c,1.122,1.123
From: |
BORBELY Zoltan <address@hidden> |
Subject: |
gnokii/common/phones nk6100.c,1.150,1.151 nk6510.c,1.122,1.123 |
Date: |
Sun, 19 Oct 2003 21:17:56 +0000 |
Update of /cvsroot/gnokii/gnokii/common/phones
In directory subversions:/tmp/cvs-serv6921/common/phones
Modified Files:
nk6100.c nk6510.c
Log Message:
GetRingtoneList added
Index: nk6100.c
===================================================================
RCS file: /cvsroot/gnokii/gnokii/common/phones/nk6100.c,v
retrieving revision 1.150
retrieving revision 1.151
diff -C2 -d -r1.150 -r1.151
*** nk6100.c 17 Oct 2003 00:50:32 -0000 1.150
--- nk6100.c 19 Oct 2003 21:17:53 -0000 1.151
***************
*** 124,127 ****
--- 124,128 ----
static gn_error get_phone_info(gn_data *data, struct gn_statemachine *state);
static gn_error get_hw(gn_data *data, struct gn_statemachine *state);
+ static gn_error get_ringtone_list(gn_data *data, struct gn_statemachine
*state);
#ifdef SECURITY
***************
*** 361,364 ****
--- 362,367 ----
case GN_OP_CallDivert:
return pnok_call_divert(data, state);
+ case GN_OP_GetRingtoneList:
+ return get_ringtone_list(data, state);
default:
dprintf("nk61xx unimplemented operation: %d\n", op);
***************
*** 3680,3682 ****
--- 3683,3765 ----
return GN_ERR_UNHANDLEDFRAME;
+ }
+
+
+ static gn_error get_ringtone_list(gn_data *data, struct gn_statemachine
*state)
+ {
+ gn_ringtone_list *rl;
+ gn_ringtone ringtone;
+ gn_data d;
+
+ #define ADDRINGTONE(id, str) \
+ rl->ringtone[rl->count].location = (id); \
+ strcpy(rl->ringtone[rl->count].name, (str)); \
+ rl->ringtone[rl->count].user_defined = 0; \
+ rl->ringtone[rl->count].readable = 0; \
+ rl->ringtone[rl->count].writable = 0; \
+ rl->count++;
+
+ if (!(rl = data->ringtone_list)) return GN_ERR_INTERNALERROR;
+ rl->count = 0;
+ rl->userdef_location = 0;
+ rl->userdef_count = 0;
+
+ if (!memcmp(state->config.model, "61", 2)) {
+ rl->userdef_location = 0;
+ rl->userdef_count = 1;
+ ADDRINGTONE(18, "Ring ring");
+ ADDRINGTONE(19, "Low");
+ ADDRINGTONE(20, "Fly");
+ ADDRINGTONE(21, "Mosquito");
+ ADDRINGTONE(22, "Bee");
+ ADDRINGTONE(23, "Intro");
+ ADDRINGTONE(24, "Etude");
+ ADDRINGTONE(25, "Hunt");
+ ADDRINGTONE(26, "Going up");
+ ADDRINGTONE(27, "City Bird");
+ ADDRINGTONE(30, "Chase");
+ ADDRINGTONE(32, "Scifi");
+ ADDRINGTONE(34, "Kick");
+ ADDRINGTONE(35, "Do-mi-so");
+ ADDRINGTONE(36, "Robo N1X");
+ ADDRINGTONE(37, "Dizzy");
+ ADDRINGTONE(39, "Playground");
+ ADDRINGTONE(43, "That's it!");
+ ADDRINGTONE(47, "Grande valse");
+ ADDRINGTONE(48, "Helan");
+ ADDRINGTONE(49, "Fuga");
+ ADDRINGTONE(50, "Menuet");
+ ADDRINGTONE(51, "Ode to Joy");
+ ADDRINGTONE(52, "Elise");
+ ADDRINGTONE(53, "Mozart 40");
+ ADDRINGTONE(54, "Piano Concerto");
+ ADDRINGTONE(55, "William Tell");
+ ADDRINGTONE(56, "Badinerie");
+ ADDRINGTONE(57, "Polka");
+ ADDRINGTONE(58, "Attraction");
+ ADDRINGTONE(60, "Polite");
+ ADDRINGTONE(61, "Persuasion");
+ ADDRINGTONE(67, "Tick tick");
+ ADDRINGTONE(68, "Samba");
+ ADDRINGTONE(70, "Orient");
+ ADDRINGTONE(71, "Charleston");
+ ADDRINGTONE(73, "Jumping");
+
+ memset(&ringtone, 0, sizeof(ringtone));
+ gn_data_clear(&d);
+ d.ringtone = &ringtone;
+ ringtone.location = 0;
+ if (GetRingtone(&d, state) == GN_ERR_NONE) {
+ rl->ringtone[rl->count].location = ringtone.location;
+ strcpy(rl->ringtone[rl->count].name, ringtone.name);
+ rl->ringtone[rl->count].user_defined = 1;
+ rl->ringtone[rl->count].readable = 1;
+ rl->ringtone[rl->count].writable = 1;
+ rl->count++;
+ }
+ } else return GN_ERR_NOTIMPLEMENTED;
+
+ #undef ADDRINGTONE
+
+ return GN_ERR_NONE;
}
Index: nk6510.c
===================================================================
RCS file: /cvsroot/gnokii/gnokii/common/phones/nk6510.c,v
retrieving revision 1.122
retrieving revision 1.123
diff -C2 -d -r1.122 -r1.123
*** nk6510.c 16 Oct 2003 23:33:05 -0000 1.122
--- nk6510.c 19 Oct 2003 21:17:53 -0000 1.123
***************
*** 362,365 ****
--- 362,367 ----
case GN_OP_SetRingtone:
return NK6510_SetRingtone(data, state);
+ case GN_OP_GetRingtoneList:
+ return NK6510_GetRingtoneList(data, state);
default:
return GN_ERR_NOTIMPLEMENTED;
***************
*** 2464,2484 ****
static gn_error NK6510_IncomingRingtone(int messagetype, unsigned char
*message, int length, gn_data *data, struct gn_statemachine *state)
{
! int i, j, index;
unsigned char *pos;
switch (message[3]) {
case 0x08:
dprintf("List of ringtones received!\n");
! index = 13;
! for (j = 0; j < message[7]; j++) {
! dprintf("Ringtone (#%03i) name: ", message[index - 4]);
! for (i = 0; i < message[index]; i++) {
! dprintf("%c", message[index + (2 * (i + 1))]);
! }
! dprintf("\n");
! index += message[index] * 2;
! while (message[index] != 0x01 || message[index + 1] !=
0x01) index++;
! index += 3;
}
break;
--- 2466,2494 ----
static gn_error NK6510_IncomingRingtone(int messagetype, unsigned char
*message, int length, gn_data *data, struct gn_statemachine *state)
{
! int i, j, n;
unsigned char *pos;
+ gn_ringtone_list *rl;
switch (message[3]) {
case 0x08:
dprintf("List of ringtones received!\n");
! if (!(rl = data->ringtone_list)) return GN_ERR_INTERNALERROR;
! rl->count = 256 * message[4] + message[5];
! rl->userdef_location = 0; //FIXME
! rl->userdef_count = 10;
! if (rl->count > GN_RINGTONE_MAX_COUNT) rl->count =
GN_RINGTONE_MAX_COUNT;
! i = 6;
! for (j = 0; j < rl->count; j++) {
! if (message[i + 4] != 0x01 || message[i + 6] != 0x00)
return GN_ERR_UNHANDLEDFRAME;
! rl->ringtone[j].location = 256 * message[i + 2] +
message[i + 3];
! rl->ringtone[j].user_defined = (message[i + 5] == 0x02);
! rl->ringtone[j].readable = 1;
! rl->ringtone[j].writable = rl->ringtone[j].user_defined;
! n = message[i + 7];
! if (n >= sizeof(rl->ringtone[0].name)) n =
sizeof(rl->ringtone[0].name) - 1;
! char_unicode_decode(rl->ringtone[j].name, message + i +
8, 2 * n);
! i += 256 * message[i] + message[i + 1];
! dprintf("Ringtone (#%03i) name: %s\n",
rl->ringtone[j].location, rl->ringtone[j].name);
}
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnokii/common/phones nk6100.c,1.150,1.151 nk6510.c,1.122,1.123,
BORBELY Zoltan <address@hidden> <=