MANUAL DE PROGRAMACIÓN DEL SERVIDOR DE …³n.pdfinterfaz del SMM. La siguiente tabla resume cada...
Transcript of MANUAL DE PROGRAMACIÓN DEL SERVIDOR DE …³n.pdfinterfaz del SMM. La siguiente tabla resume cada...
-
MANUAL DE PROGRAMACIÓN
DEL SERVIDOR DE
MENSAJERÍA MOVISTAR 1.2
Noviembre de 2000
© 2000 Telefónica Investigación y Desarrollo, S.A. UnipersonalReservados todos los derechos
-
Índice de Contenidos
iiMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
1 INTRODUCCIÓN ............................................................................................................. 1-1
1.1 AUDIENCIA............................................................................................................ 1-1
1.2 ESTRUCTURA DEL DOCUMENTO........................................................................ 1-1
2 MODELO DE OBJETOS DEL SMM ........................................................................... 2-1
2.1 OBJETO ScmAplicacion ......................................................................................... 2-2
2.1.1 Interfaz IAplicacion .................................................................................. 2-22.1.1.1 Propiedades............................................................................ 2-3
2.1.1.1.1 Administrador.......................................................................... 2-3
2.1.1.1.2 Servidor .................................................................................. 2-32.1.1.2 Métodos.................................................................................. 2-4
2.1.1.2.1 DameTextoError...................................................................... 2-4
2.1.1.2.2 Conectar ................................................................................. 2-42.1.1.2.3 Desconectar............................................................................ 2-5
2.1.2 Interfaz IAplicacionEvents ........................................................................ 2-6
2.1.2.1 OnProcesoParado................................................................... 2-62.1.2.2 OnProcesoReanudado............................................................ 2-7
2.1.2.3 OnSalir ................................................................................... 2-7
2.1.2.4 OnShutDown........................................................................... 2-7
2.2 OBJETO ScmServidor............................................................................................ 2-8
2.2.1 Interfaz IServidor ..................................................................................... 2-82.2.1.1 Enviar ..................................................................................... 2-8
2.2.1.2 Recibir .................................................................................. 2-10
2.2.1.3 Conectar ............................................................................... 2-102.2.1.3.1 Desconectar...........................................................................2-11
2.2.2 Interfaz IServidorEvents......................................................................... 2-12
2.2.2.1 OnEstadoPeticion ................................................................. 2-122.2.2.2 OnMensajeRecibido.............................................................. 2-14
2.2.2.3 OnNotificacionRecibida......................................................... 2-15
2.3 OBJETO ScmAdministrador ................................................................................. 2-16
2.3.1 Propiedades .......................................................................................... 2-17
2.3.1.1 Dispositivo ............................................................................ 2-172.3.1.2 Estado .................................................................................. 2-17
-
Índice de Contenidos (cont.)
iiiMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
2.3.1.3 IntentosPeticion .................................................................... 2-18
2.3.1.4 MostraTaskBarlcon................................................................ 2-182.3.1.5 NumeroWorkerThreads......................................................... 2-18
2.3.1.6 TiempoRefrescoWorkerThreads............................................ 2-18
2.3.1.7 Servicio................................................................................. 2-192.3.1.8 ChequearDispositivos ........................................................... 2-19
2.3.1.9 TiempoChequearDispositivos................................................ 2-19
2.3.2 Métodos................................................................................................. 2-192.3.2.1 Configurar............................................................................. 2-19
2.3.2.2 PararProceso........................................................................ 2-20
2.3.2.3 ReanudarProceso ................................................................. 2-20
2.4 OBJETO ScmDispositivos .................................................................................... 2-20
2.4.1 Interfaz IDispositivos.............................................................................. 2-202.4.1.1 Propiedades.......................................................................... 2-21
2.4.1.1.1 Count.................................................................................... 2-21
2.4.1.1.2 Item ...................................................................................... 2-212.4.1.2 Métodos................................................................................ 2-21
2.4.1.2.1 Actualizar.............................................................................. 2-22
2.4.1.2.2 Find ...................................................................................... 2-222.4.1.2.3 Conectar ............................................................................... 2-23
2.4.1.2.4 Desconectar.......................................................................... 2-23
2.4.2 Interfaz IDispositivosEvents ................................................................... 2-242.4.2.1 OnNuevoDispositivo.............................................................. 2-25
2.4.2.2 OnDispositivoEliminado ........................................................ 2-26
2.4.2.3 OnDispositivoModificado....................................................... 2-262.4.2.4 OnNuevaEntradaAgenda ...................................................... 2-27
2.4.2.5 OnEntradaAgendaModificada................................................ 2-29
2.4.2.6 OnEntradaAgendaBorrada .................................................... 2-302.4.2.7 OnNuevoMensaje ................................................................. 2-31
2.4.2.8 OnMensaje Borrado .............................................................. 2-33
2.4.2.9 OnDispositivoInicializado ...................................................... 2-342.4.2.10 OnActualizarAgendaSIM ....................................................... 2-35
2.4.2.11 OnRecibir.............................................................................. 2-35
2.5 OBJETO ScmDispositivo ...................................................................................... 2-36
2.5.1 Nombre ................................................................................................. 2-37
2.5.2 Conexion ............................................................................................... 2-372.5.3 Estado ................................................................................................... 2-38
-
Índice de Contenidos (cont.)
ivMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
2.5.4 Protocolo ............................................................................................... 2-38
2.5.5 VersionDeSoftware ................................................................................ 2-382.5.6 AgendaSIM............................................................................................ 2-39
2.5.7 MensajesSIM......................................................................................... 2-39
2.5.8 Bloqueado ............................................................................................. 2-39
2.6 OBJETO ScmAgendaSIM..................................................................................... 2-40
2.6.1 Actualizar............................................................................................... 2-402.6.2 Anadir.................................................................................................... 2-40
2.6.3 Borrar .................................................................................................... 2-42
2.6.4 Modificar................................................................................................ 2-42
2.7 OBJETO ScmMensajesSIM.................................................................................. 2-43
2.7.1 Actualizar............................................................................................... 2-442.7.2 Anadir.................................................................................................... 2-44
2.7.3 Borrar .................................................................................................... 2-45
2.7.4 Enviar .................................................................................................... 2-46
3 MODELO DE OBJETOS DE LA LIBRERÍA DatosScm.dll ................................. 3-1
3.1 OBJETO ScmDatosEnviar...................................................................................... 3-2
3.1.1 Propiedades ............................................................................................ 3-33.1.1.1 ClaseMensaje ......................................................................... 3-3
3.1.1.2 Destinatario............................................................................. 3-4
3.1.1.3 FechaEntregaDiferida ............................................................. 3-43.1.1.4 Filtrar ...................................................................................... 3-4
3.1.1.5 Mensaje .................................................................................. 3-4
3.1.1.6 PedirNotificacion ..................................................................... 3-43.1.1.7 PeriodoValidez........................................................................ 3-5
3.1.1.8 TipoDeCodificacion ................................................................. 3-5
3.1.2 Métodos................................................................................................... 3-5
3.2 OBJETO ScmDatosMensajeRecibido ..................................................................... 3-5
3.2.1 Mensaje................................................................................................... 3-63.2.2 Fecha ...................................................................................................... 3-6
3.2.3 Remitente ................................................................................................ 3-6
3.3 OBJETO ScmDatosNotificaciónRecibida ................................................................ 3-7
3.3.1 Destinatario ............................................................................................. 3-7
3.3.2 Estado ..................................................................................................... 3-73.3.3 FechaEntrega .......................................................................................... 3-7
-
Índice de Contenidos (cont.)
vMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
3.3.4 FechaPeticion.......................................................................................... 3-8
3.4 OBJETO ScmIdentificadorUnico ............................................................................. 3-8
3.5 OBJETO ScmDatosAgendaSIM.............................................................................. 3-8
3.5.1 Propiedades ............................................................................................ 3-9
3.5.1.1 Nombre................................................................................... 3-9
3.5.1.2 Posicion .................................................................................. 3-93.5.1.3 Telefono................................................................................ 3-10
3.5.2 Métodos................................................................................................. 3-10
3.6 OBJETO ScmDatosMensajesSIM......................................................................... 3-10
3.6.1 Propiedades ...........................................................................................3-11
3.6.1.1 ClaseMensaje ........................................................................3-113.6.1.2 Estado ...................................................................................3-11
3.6.1.3 Fecha ....................................................................................3-11
3.6.1.4 Filtrar .................................................................................... 3-123.6.1.5 Mensaje ................................................................................ 3-12
3.6.1.6 PedirNotificacion ................................................................... 3-12
3.6.1.7 PeriodoValidez...................................................................... 3-123.6.1.8 Posicion ................................................................................ 3-12
3.6.1.9 Telefono................................................................................ 3-13
3.6.1.10 TipoDeCodificacion ............................................................... 3-133.6.2 Métodos................................................................................................. 3-13
3.7 OBJETO ScmDatosPeticion ................................................................................. 3-13
3.7.1 Estado ................................................................................................... 3-14
3.7.2 FechaCreacion ...................................................................................... 3-14
3.7.3 FechaEstado.......................................................................................... 3-143.7.4 Identificador........................................................................................... 3-15
3.7.5 Intentos.................................................................................................. 3-15
3.7.6 Prioridad................................................................................................ 3-153.7.7 Resultado .............................................................................................. 3-15
3.7.8 Tipo ....................................................................................................... 3-15
3.8 OBJETO ScmDatosDispositivo............................................................................. 3-16
3.8.1 MaxPosicionesAgenda........................................................................... 3-16
3.8.2 MaxTamanoNombreAgenda................................................................... 3-163.8.3 PosInicialAgenda ................................................................................... 3-16
4 TIPOS ENUMERADOS DEL MODELO DE OBJETOS SMM .............................. 4-1
-
Índice de Contenidos (cont.)
viMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
4.1 TIPO ENUM ClasesDeMensaje .............................................................................. 4-1
4.2 TIPO ENUM EstadosDispositivos ........................................................................... 4-1
4.3 TIPO ENUM EstadosEnvio ..................................................................................... 4-2
4.4 TIPO ENUM EstadosMensajesSIM......................................................................... 4-2
4.5 TIPO ENUM EstadosPeticion ................................................................................. 4-3
4.6 TIPO ENUM EstadosSCM ...................................................................................... 4-3
4.7 TIPO ENUM TiposDeCodificacion........................................................................... 4-3
4.8 TIPO ENUM TiposDePeticion ................................................................................. 4-4
4.9 TIPO ENUM PrioridadPeticion ................................................................................ 4-4
4.10 TIPO ENUM NivelesBloqueoDispositivo ................................................................. 4-4
4.11 TIPO ENUM ConectarAplicacionFlags .................................................................... 4-4
4.12 TIPO ENUM ConectarServidorFlags....................................................................... 4-5
4.13 TIPO ENUM ConectarDispositivosFlags ................................................................. 4-5
A LIBRERÍA SCRIPT .........................................................................................................A-1
GLOSARIO DE TÉRMINOS Y ACRÓNIMOS ......................................................... Glosario-1
-
Índice de Tablas
viiMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
Tabla 2-1: OBJETOS, PROPIEDADES, MÉTODOS Y EVENTOS........................................ 2-1
Tabla 2-2: PROPIEDADES IAplicacion............................................................................... 2-2
Tabla 2-3: MÉTODOS IAplicacion....................................................................................... 2-3
Tabla 2-4: PARÁMETROS DameTextoError ....................................................................... 2-4
Tabla 2-5: PARÁMETROS Conectar I ................................................................................. 2-5
Tabla 2-6: PARÁMETROS Desconectar I ........................................................................... 2-5
Tabla 2-7: EVENTOS IAplicacionEvents ............................................................................ 2-6
Tabla 2-8: MÉTODOS IServidor .......................................................................................... 2-8
Tabla 2-9: PARÁMETROS Enviar........................................................................................ 2-9
Tabla 2-10: PARÁMETROS Conectar II ...............................................................................2-11
Tabla 2-11: PARÁMETROS Desconectar II..........................................................................2-11
Tabla 2-12: EVENTOS IServidorEvents.............................................................................. 2-12
Tabla 2-13: PARÁMETROS OnEstadoPeticion .................................................................. 2-12
Tabla 2-14: PARÁMETROS OnMensajeRecibido............................................................... 2-14
Tabla 2-15: PARÁMETROS OnNotificacionRecibida ......................................................... 2-15
Tabla 2-16: PROPIEDADES IAdministrador....................................................................... 2-16
Tabla 2-17: MÉTODOS IAdministrador .............................................................................. 2-16
Tabla 2-18: PROPIEDADES IDispositivos.......................................................................... 2-20
Tabla 2-19: MÉTODOS IDispositivos ................................................................................. 2-21
Tabla 2-20: PARÁMETROS Find......................................................................................... 2-22
Tabla 2-21: PARÁMETROS Conectar III ............................................................................. 2-23
Tabla 2-22: PARÁMETROS Desconectar III........................................................................ 2-24
Tabla 2-23: EVENTOS IDispositivosEvents ....................................................................... 2-24
Tabla 2-24: PARÁMETROS OnNuevoDispositivo .............................................................. 2-25
Tabla 2-25: PARÁMETROS OnDispositivoEliminado ........................................................ 2-26
Tabla 2-26: PARÁMETROS OnDispositivoModificado ...................................................... 2-27
Tabla 2-27: PARÁMETROS OnNuevaEntradaAgenda ....................................................... 2-28
Tabla 2-28: PARÁMETROS OnEntradaAgendaModificada................................................ 2-29
Tabla 2-29: PARÁMETROS OnEntradaAgendaBorrada .................................................... 2-30
-
Índice de Tablas (cont.)
viiiMANUAL DE PROGRAMACIÓN DEL SERVIDOR DEMENSAJERÍA MOVISTAR 1.2
Tabla 2-30: PARÁMETROS OnNuevoMensaje ................................................................... 2-31
Tabla 2-31: PARÁMETROS OnMensajeBorrado ................................................................ 2-33
Tabla 2-32: PARÁMETROS OnDispositivoInicializado...................................................... 2-34
Tabla 2-33: PARÁMETROS OnActualizarAgendaSIM........................................................ 2-35
Tabla 2-34: PARÁMETROS OnRecibir................................................................................ 2-36
Tabla 2-35: PROPIEDADES IDispositivo............................................................................ 2-36
Tabla 2-36: MÉTODOS IAgendaSIM ................................................................................... 2-40
Tabla 2-37: PARÁMETROS Anadir ..................................................................................... 2-41
Tabla 2-38: MÉTODOS IMensajesSIM ................................................................................ 2-44
Tabla 2-39: PARÁMETROS Anadir ..................................................................................... 2-44
Tabla 2-40: PARÁMETROS Borrar...................................................................................... 2-46
Tabla 2-41: PARÁMETROS Enviar...................................................................................... 2-47
Tabla 3-1: OBJETOS, PROPIEDADES Y MÉTODOS .......................................................... 3-2
Tabla 3-2: PROPIEDADES IDatosEnviar ............................................................................ 3-2
Tabla 3-3: MÉTODOS IDatosEnviar.................................................................................... 3-3
Tabla 3-4: PROPIEDADES IDatosMensajeRecibido .......................................................... 3-6
Tabla 3-5: PROPIEDADES IDatosNotificaciónRecibida .................................................... 3-7
Tabla 3-6: MÉTODOS IIdentificadorUnico.......................................................................... 3-8
Tabla 3-7: PROPIEDADES IDatosAgendaSIM.................................................................... 3-9
Tabla 3-8: MÉTODOS IDatosAgendaSIM............................................................................ 3-9
Tabla 3-9: PROPIEDADES IDatosMensajesSIM............................................................... 3-10
Tabla 3-10: MÉTODOS IDatosMensajesSIM........................................................................3-11
Tabla 3-11: PROPIEDADES IDatosPeticion ....................................................................... 3-13
Tabla 3-12: PROPIEDADES IDatosDispositivo.................................................................. 3-16
-
1-1
1 INTRODUCCIÓNEl Servidor de Mensajería MoviStar (SMM) es un servidor COM Out-Of-Process que ex-porta una serie de objetos para facilitar el envío de mensajes MoviStar a las aplicaciones.
El SMM se basa en la librería DatosScm.dll. Esta librería debe estar instalada en cada má-quina cliente y sirve para optimizar el acceso remoto al servidor. La librería DatosScm.dll esun servidor COM In-Process que exporta una serie de objetos de datos utilizados tanto porlos clientes del sistema para pasarle información como por el propio sistema internamente.
1.1 AUDIENCIA
Este documento está dirigido a aquellas personas que tengan que crear aplicaciones con elSMM.
1.2 ESTRUCTURA DEL DOCUMENTO
La estructura del documento, por capítulo, es la siguiente:
• Capítulo 1 INTRODUCCIÓN: la presente introducción
• Capítulo2 MODELO DE OBJETOS DEL SMM: se describen los objetos, propieda-des, métodos y eventos del SMM.
• Capítulo 3 MODELO DE OBJETOS DE LA LIBRERÍA DatosScm.dll: se describenlos objetos, propiedades y métodos de la librería DatosScm.dll.
• Capítulo 4 TIPOS ENUMERADOS DEL MODELO DE OBJETOS SMM: se des-criben los tipos enumerados del modelo de objetos SMM.
-
2-1
2 MODELO DE OBJETOS DEL SMMEn este capítulo se explican los objetos, interfaces y propiedades, métodos y eventos de cadainterfaz del SMM. La siguiente tabla resume cada objeto con sus interfaces y las propieda-des, métodos y eventos de las mismas.
Tabla 2-1: OBJETOS, PROPIEDADES, MÉTODOS Y EVENTOS
Objetos Interfaces Propiedades Métodos/Eventos
ScmAplicacion IAplicacion
IAplicacionEvents
Administrador, Servidor DameTextoError, Conectar,Desconectar
OnProcesoParado, OnProceso-Reanudado, OnSalir,OnShutDown
ScmServidor IServidor
IServidorEvents
Enviar, Recibir, Conectar, Des-conectar
OnEstadoPeticion, OnMensaje-Recibido, OnNotificacionReci-bida
ScmAdministrador IAdministrador Dispositivos, Estado, In-tentosPeticion, Mostrar-TaskBarIcon, NumeroWor-kerThreads, Servicio, Tiem-poRefrescoWor-kerThreads,ChequearDispositivos, TiempoChequear-Dispositivos
Configurar, PararProceso, Rea-nudarProceso
ScmDispositivos IDispositivos
IDispositivosEvents
Item, Count Actualizar, Find, Conectar,Desconectar
OnNuevoDispositivo, OnDispo-sitivoEliminado, OnDispositi-voModificado, OnNuevaEntra-daAgenda, OnEntradaAgenda-Borrada, OnEntradaAgendaMo-dificada, OnActualizarAgenda-SIM, OnNuevoMensaje, On-MensajeBorrado, OnActuali-zarMensajesSIM, OnRecibir
-
OBJETOS DEL SMM
2-2
Objetos Interfaces Propiedades Métodos/Eventos
ScmDispositivo IDispositivo Nombre, Conexión, Estado,Protocolo, VersionDeSoft-ware, AgendaSIM, Mensa-jesSIM, Bloqueado
ScmAgendaSIM IAgendaSIM Actualizar, Anadir, Borrar,Modificar
ScmMensajesSIM IMensajesSIM Actualizar, Anadir, Borrar,Enviar
Nota: La sintaxis y los ejemplos de código se presentan en Visual Basic.
A continuación se pasan a detallar cada uno de los objetos.
2.1 OBJETO ScmAplicacion
El objeto ScmAplicacion es el objeto raíz del modelo de objetos del SMM. Implementa lainterfaz IAplicacion y la interfaz IAplicacionEvent y está incluido en el fichero ServidorCo-rreoMoviStar.exe. Este objeto es el único que se obtiene usando CreateObject o GetObjectdesde otra aplicación.
A continuación se muestra un ejemplo del objeto ScmAplicacion.Private WithEvents g_App As IAplicacion
Set g_App = CreateObject("ServidorCorreoMoviStar.Aplicación")
2.1.1 Interfaz IAplicacion
La interfaz IAplicacion proporciona un fácil acceso al resto de las interfaces.
La Tabla 2-2: PROPIEDADES IAplicacion muestra las propiedades de la interfaz IAplica-cion.
Tabla 2-2: PROPIEDADES IAplicacion
Nombre Tipo Acceso
Administrador IAdministrador Sólo lectura
Servidor IServidor Sólo lectura
La Tabla 2-3: MÉTODOS IAplicacion muestra los métodos de la interfaz IAplicacion.
-
OBJETOS DEL SMM
2-3
Tabla 2-3: MÉTODOS IAplicacion
Nombre Parámetros
DameTextoError Error As Long
Conectar Pevents As IUnknown, Flags AsConectarAplicacionFlags
Desconectar Cookie As Long
2.1.1.1 Propiedades
En este apartado se detallan las propiedades de la interfaz IAplicacion.
2.1.1.1.1 Administrador
Es una propiedad de sólo lectura que da acceso a la interfaz IAdministrador delobjeto ScmAdministrador. La interfaz IAdministrador sólo es necesaria si sequieren gestionar los dispositivos o la configuración del SMM.
SINTAXIS
Property Administrador As IAdministrador
EJEMPLO
Private WithEvents g_Admin As IAdministrador
Set g_Admin = g_App.Administrador
2.1.1.1.2 Servidor
La propiedad Servidor da acceso a la interfaz IServidor del objeto ScmServidor.Es el único objeto necesario para enviar y recibir mensajes.
SINTAXIS
Property Servidor As IServidor
EJEMPLO
Private WithEvents g_Servidor As IServidor
-
OBJETOS DEL SMM
2-4
Set g_Servidor = g_App.Servidor
2.1.1.2 Métodos
En este apartado se detallan los métodos de la interfaz IAplicacion.
2.1.1.2.1 DameTextoError
El método DameTextoError retorna el texto de cualquier código de error de-vuelto por la aplicación.
SINTAXIS
Function DameTextoError (Error As Long) As String
PARÁMETROS
La Tabla 2-4: PARÁMETROS DameTextoError muestra los parámetros delmétodo DameTexto Error.
Tabla 2-4: PARÁMETROS DameTextoError
Parámetros Tipo Descripción Cumplimentación
Error Long Código de error devuelto por laaplicación, del cual se quiereconocer el texto
Requerido
EJEMPLO
'Si el resultado es negativo indica un error.
If 0 > DatosPeticion.Resultado Then 'Error
Str = g_App.DameTextoError ( DatosPeticion.Resultado )
End If
2.1.1.2.2 Conectar
El método Conectar es un método alternativo para la captura de eventos. Es unmétodo más rápido que el método estándar.
-
OBJETOS DEL SMM
2-5
SINTAXIS
Function Conectar (pEvents As Iunkown, Flags As ConectarAplica-cionFlags)
PARÁMETROS
La Tabla 2-5: PARÁMETROS Conectar I muestra los parámetros del méto-do Conectar de la interfaz IAplicacion.
Tabla 2-5: PARÁMETROS Conectar I
Parámetros Tipo Descripción Cumplimentación
Pevents IUnknown
Flags ConectarAplicacionFlags Es el que decide queeventos captura o no
EJEMPLO
Implements IAplicacionEvents
Dim g_lCookieAplicacion As Long
g_lCookieAplicacion=Conectar(Me,CA_All)
2.1.1.2.3 Desconectar
El método Desconectar es un método que finaliza la captura de los eventos.
SINTAXIS
Function Desconectar (Cookie As Long)
PARÁMETROS
La Tabla 2-6: PARÁMETROS Desconectar I muestra los parámetros delmétodo de Desconectar de la interfaz IAplicacion.
-
OBJETOS DEL SMM
2-6
Tabla 2-6: PARÁMETROS Desconectar I
Parámetros Tipo Descripción Cumplimentación
Cookie Long Finaliza la capturade los eventos
EJEMPLO
Desconectar (g_lCookieAplicacion)
2.1.2 Interfaz IAplicacionEvents
La interfaz IAplicacionEvents es la interfaz que contiene los eventos del objeto ScmAplica-cion.
La Tabla 2-7: EVENTOS IAplicacionEvents muestra los eventos de la interfaz IAplicacio-nEvents.
Tabla 2-7: EVENTOS IAplicacionEvents
Nombre Parámetros
OnProcesoParado
OnProcesoReanudado
OnSalir
OnShutDown
A continuación se detallan los eventos de la interfaz IAplicacionEvents.
2.1.2.1 OnProcesoParado
Este evento avisa que el administrador ha parado el proceso.
SINTAXIS
Sub OnProcesoParado()
-
OBJETOS DEL SMM
2-7
EJEMPLO
Private Sub g_App_OnProcesoParado ( )
'HACER: Lo que sea necesario cuando el proceso se haya parado
End Sub
2.1.2.2 OnProcesoReanudado
Este evento avisa que el administrador ha reanudado el proceso.
SINTAXIS
Sub OnProcesoReanudado ( )
EJEMPLO
Private Sub g_App_OnProcesoReanudado ( )
'HACER: Lo que se crea necesario cuando el proceso se reanude.
End Sub
2.1.2.3 OnSalir
El evento OnSalir avisa que el administrador ha cerrado el SMM. Cuando estoocurre los objetos del SMM que tenga creados la aplicación dejan de ser váli-dos, se debe avisar al usuario y deshabilitar cualquier opción que utilice dichosobjetos.
SINTAXIS
Sub OnSalir ( )
EJEMPLO
Private Sub g_App_OnSalir ( )
'HACER: Lo que sea necesario cuando el administrador finalice elproceso.
End Sub
2.1.2.4 OnShutDown
El evento OnShutDown avisa que se está apagando la máquina en la que está elSMM, con lo que los objetos dejan de ser válidos. Se debe avisar al usuario ydeshabilitar cualquier opción que utilice dichos objetos.
-
OBJETOS DEL SMM
2-8
SINTAXIS
Sub OnShutDown ( )
EJEMPLO
Private Sub g_App_OnShutDown ( )
'HACER: Lo que se crea necesario cuando el administrador apagala máquina
End Sub
2.2 OBJETO ScmServidor
Es el único objeto necesario para enviar y recibir mensajes. Implementa las interfaces ISer-vidor y IServidorEvents y está incluido en el fichero ServidorCorreoMoviStar.exe. Sólo sepuede tener acceso a este objeto a través de la propiedad Servidor de la interfaz IAplicacion.
2.2.1 Interfaz IServidor
La Tabla 2-8: MÉTODOS IServidor muestra los métodos de la interfaz IServidor.
Tabla 2-8: MÉTODOS IServidor
Nombre Parámetros
Enviar IDPeticion, As String, Dato-sEnviar As IDatosEnviar, Prio-ridad As Long
Recibir
Conectar pEvents As IUnknown, FlagsAs ConectarServidorFlags
Desconectar Cookie As Long
A continuación se detallan los métodos de la interfaz IServidor.
2.2.1.1 Enviar
El método Enviar añade una petición de envío de un mensaje MoviStar a lacola de peticiones del SMM.
-
OBJETOS DEL SMM
2-9
Utiliza el objeto de datos ScmDatosEnviar que implementa la interfaz IDato-sEnviar y que se encuentra en la librería DatosScm.dll.
La interfaz IDatosEnviar contiene los datos del mensaje a enviar. El métodoEnviar es asíncrono, es decir, el mensaje no se envía directamente, sino que seañade la petición a la cola de las peticiones solicitadas, y es el evento OnEsta-doPeticion el que va notificando del cambio de estado de esa petición.
SINTAXIS
Function Enviar (IDPeticion As String, DatosEnvio As IDatosEn-viar, [Prioridad As Long])
PARÁMETROS
La Tabla 2-9: PARÁMETROS Enviar muestra los parámetros del métodoEnviar.
Tabla 2-9: PARÁMETROS Enviar
Parámetros Tipo Descripción Cumplimentación
IDPeticion String Es el identificador dela petición para elenvío del mensaje. Esteidentificador se generacon el método Nuevode la interfaz IIdentifi-cadorUnico
Requerido
DatosEnvio IDatosEnviar Contiene los datos dela petición de envío
Requerido
Prioridad Long Prioridad de la peticióndel envío. Los posiblesrangos vienen enume-rados en el tipo Priori-dadPeticion
Opcional
EJEMPLO
El siguiente fragmento de código muestra como se puede enviar un mensajemediante el método enviar de la interfaz IServidor. Se utiliza el objeto ScmI-dentificadorUnico que está en la librería DatosScm.dll, para generar un identi-
-
OBJETOS DEL SMM
2-10
ficador único para la petición de envío. También se utiliza el objeto ScmDato-sEnviar que está en la librería DatosScm.dll, que recoge los datos de la peticiónde envío.
Para enviar un mensaje mediante el método Enviar de la interfaz IServidor pro-ceda como sigue:
1. Genere un identificador único para la petición de envío, para ello se utilizael interfaz IIdentificadorUnico del objeto ScmIdentificadorUnico:Private g_GenerarID As IIdentificadorUnico
Set g_GenerarID = New ScmIdentificadorUnico
2. Declare e inicialice un objeto que contenga los datos de la petición delenvío, para ello se utiliza el objeto ScmDatosEnviar.Dim DatosEnvio as New ScmDatosEnviar
DatosEnvio.Telefono = "629000000"
DatosEnvio.Mensaje = "Hola"
DatosEnvio.PedirNotificacion = True'su valor por defecto se-ría False
3. Realice la petición de envío.g_Servidor.Enviar g_GenerarID , DatosEnvio
2.2.1.2 Recibir
Con este método se indica al SMM que busque nuevos mensajes. No es necesa-rio llamar a este método, salvo que se desactive la recepción automática paraalgún dispositivo.
SINTAXIS
Sub Recibir()
EJEMPLO
g_Servidor.Recibir
2.2.1.3 Conectar
El método Conectar es un método alternativo para la captura de eventos. Es unmétodo más rápido que el método estándar.
SINTAXIS
Function Conectar (pEvents As IUnkown, Flags As ConectarServidor-Flags)
-
OBJETOS DEL SMM
2-11
PARÁMETROS
La Tabla 2-10: PARÁMETROS Conectar II muestra los parámetros del mé-todo Conectar de la interfaz IServidor.
Tabla 2-10: PARÁMETROS Conectar II
Parámetros Tipo Descripción Cumplimentación
pEvents IUnknown
Flags ConectarServidorFlags Es el que decide queeventos captura o no
EJEMPLO
Implements IServidorEvents
Dim g_lCookieServidor As Long
g_lCookieServidor=Conectar(Me,CS_All)
2.2.1.3.1 Desconectar
El método Desconectar es un método que finaliza la captura de los eventos.
SINTAXIS
Function Desconectar (Cookie As Long)
PARÁMETROS
La Tabla 2-11: PARÁMETROS Desconectar II muestra los parámetros delmétodo de Desconectar de la interfaz IServidor.
Tabla 2-11: PARÁMETROS Desconectar II
Parámetros Tipo Descripción Cumplimentación
Cookie Long Finaliza la capturade los eventos
-
OBJETOS DEL SMM
2-12
EJEMPLO
Desconectar (g_lCookieServidor)
2.2.2 Interfaz IServidorEvents
La Tabla 2-12: EVENTOS IServidorEvents muestra los eventos de la interfaz IServidorE-vents.
Tabla 2-12: EVENTOS IServidorEvents
Nombre Parámetros
OnEstadoPeticion Datos As IDatosPeticion
OnMensajeRecibido Datos As IdatosMensajeRecibido
OnNotificacionRecibida Datos As IdatosNotificacionRecibida
A continuación se detallan cada uno de los eventos de la interfaz IServidorEvents.
2.2.2.1 OnEstadoPeticion
Este evento notifica un cambio de estado en una petición. El método Enviar dela interfaz IServidor añade la petición de envío a la cola de peticiones solicita-das del SMM y retorna. El SMM procesa esa cola de peticiones y notifica alcliente mediante el evento OnEstadoPeticion del estado actual de la petición.
SINTAXIS
Sub OnEstadoPeticion (Datos As IDatosPeticion)
PARÁMETROS
La Tabla 2-13: PARÁMETROS OnEstadoPeticion muestra los parámetrosdel evento OnEstadoPeticion.
Tabla 2-13: PARÁMETROS OnEstadoPeticion
Parámetros Tipo Descripción
Datos IDatosPeticion Contiene los datos de la
-
OBJETOS DEL SMM
2-13
Parámetros Tipo Descripción
petición.
EJEMPLO
Se muestra un ejemplo del evento OnEstadoPeticion. En el ejemplo al produ-cirse el evento OnEstadoPeticion el programa crea una cadena str que recoge elidentificador de la petición, el estado y el resultado.Private Sub g_Servidor_OnEstadoPeticion(ByVal Datos As IDatosPe-ticion)
Dim str As String
str = Datos.Identificador 'Identificador de la petición
'Traducimos el estado
Select Case Datos.Estado
Case EP_Solicitada
str =str & "," & "Solicitada"
Case EP_EnProceso
str = str & "," & "En proceso"
………
'El resto de los posibles estados de la petición
………
Case EP_Cancelada
str = str & "," & "Cancelada"
End Select
'La variable str además de contener el identificador de la peti-ción y el estado, si el mensaje ha sido 'enviado concatenamos ala cadena str el resultado del envío
'Si el resultado de la petición es 0, el mensaje todavía no hafinalizado.
If 0 = Datos.Resultado Then
str = str & "," & ","
'Si el resultado de la petición es >0, el mensaje ha finalizado
ElseIf 0 < Datos.Resultado Then
Select Case Datos.Tipo
Case TP_Envio
Dim EstadoEnvio As EstadosEnvio
EstadosEnvio = Datos.Resultado
Select Case EstadosEnvio
Case EE_Enviado
str = str & "," & "Enviado"
………
-
OBJETOS DEL SMM
2-14
'El resto de los posibles estados del envío
………
Case EE_NoSeHaPodidoEntregar
str = str & "," & "No se ha podido entregar"
End Select
End Select
ElseIf 0 > Datos.Resultado Then 'Error
str = str & "," & g_App.DameTextoError(Datos.Resultado)
End If
'Mostramos la cadena en la ventana de depuración
str = str & "," & Datos.FechaCreacion & "," & Datos.FechaEstado &"," & Datos.Intentos & "," & Datos.Prioridad
Debug.Print str
End Sub
2.2.2.2 OnMensajeRecibido
El evento OnMensajeRecibido notifica la recepción de un mensaje en el dispo-sitivo. Recibe como parámetro una interfaz IDatosMensajeRecibido con losdatos de los mensajes recibidos.
SINTAXIS
Sub OnMensajeRecibido (Datos As IDatosMensajeRecibido)
PARÁMETROS
La Tabla 2-14: PARÁMETROS OnMensajeRecibido muestra los parámetrosdel evento OnMensajeRecibido.
Tabla 2-14: PARÁMETROS OnMensajeRecibido
Parámetros Tipo Descripción
Datos IDatosMensajeRecibido Contiene los datos delmensaje recibido, datoscomo Remitente, Mensaje yFecha.
-
OBJETOS DEL SMM
2-15
EJEMPLO
En este ejemplo cuando se produce el evento OnMensajeRecibido se añade aun listbox ListaMensajesRecibidos el texto del mensaje recibido.Private Sub g_Servidor_OnMensajeRecibido(ByVal Datos AsIDatosMen-sajeRecibido)
ListaMensajesRecibidos.AddItem (Datos.Mensaje)
End Sub
2.2.2.3 OnNotificacionRecibida
El evento OnNotificacionRecibida notifica la recepción de una notificación delCMC en el dispositivo. Sólo se produce si se recibe una notificación y no existeuna petición en espera correspondiente a dicha notificación, por ejemplo si seha borrado. Si se recibe una notificación y existe una petición en espera que co-rresponda a esa notificación, lo que se produce es un cambio en el estado de lapetición, pero no se produce este evento.
Si se produce este evento es responsabilidad de la aplicación cliente el asociardicha notificación con uno de los mensajes enviados por ella.
SINTAXIS
Sub OnNotificacionRecibida (Datos As IDatosNotificacionRecibida)
PARÁMETROS
La Tabla 2-15: PARÁMETROS OnNotificacionRecibida muestra los pará-metros del evento OnNotificacionRecibida.
Tabla 2-15: PARÁMETROS OnNotificacionRecibida
Parámetros Tipo Descripción
Datos IDatosNotificacionRecibida Contiene los datos de la notifi-cación recibida
EJEMPLO
En este ejemplo se muestra en la ventana de depuración los datos de la notifi-cación recibida.Private Sub g_Servidor_OnNotificacionRecibida(ByVal DatosAs.IDatosNotificacionRecibida)
Debug.Print (Datos.Destinatario)
-
OBJETOS DEL SMM
2-16
Debug.Print (Datos.Estado)
Debug.Print (Datos.FechaEntrega)
Debug.Print (Datos.FechaPeticion)
End Sub
2.3 OBJETO ScmAdministrador
El objeto ScmAdministrador ayuda a gestionar los dispositivos. Implementa la interfaz IAd-ministrador y está incluido en el fichero ServidorCorreoMoviStar.exe.
Sólo se puede tener acceso a él a partir de la propiedad Administrador de la interfaz IAplica-cion.
La Tabla 2-16: PROPIEDADES IAdministrador muestra las propiedades de la interfazIAdministrador.
Tabla 2-16: PROPIEDADES IAdministrador
Nombre Tipo Acceso
Dispositivos IDispositivos Sólo lectura
Estado EstadoScm Sólo lectura
IntentosPeticion Long Lectura/Escritura
MostrarTaskBarIcon Boolean Lectura/Escritura
NumeroWorkerThreads Integer Lectura/Escritura
TiempoRefrescoWorkerThreads Long Lectura/Escritura
Servicio Boolean Lectura/Escritura
ChequearDispositivos Boolean Lectura/Escritura
TiempoChequearDispositivos Long Lectura/Escritura
La Tabla 2-17: MÉTODOS IAdministrador muestra los métodos de la interfaz IAdminis-trador.
-
OBJETOS DEL SMM
2-17
Tabla 2-17: MÉTODOS IAdministrador
Nombre Parámetros
Configurar VentanaPadre As Long,IdentificadorLocal AsLong
PararProceso
ReanudarProceso
2.3.1 Propiedades
En este apartado se detallan las propiedades de la interfaz IAdministrador.
2.3.1.1 Dispositivo
La propiedad Dispositivos es de sólo lectura y da acceso a la colección de dis-positivos del sistema.
SINTAXIS
Property Dispositivos As IDispositivos
EJEMPLO
Public WithEvents g_dispositivos As IDispositivos
Set g_dispositivos = g_Admin.Dispositivos
2.3.1.2 Estado
La propiedad Estado es de sólo lectura y devuelve el estado actual del SMM.
SINTAXIS
Property Estado As EstadoSCM
EJEMPLO
Select Case g_Admin.Estado
Case ESCM_Activo
Debug.Print ("El Servidor de Mensajeria MoviStar está ac-tivo")
-
OBJETOS DEL SMM
2-18
Case ESCM_Activando
Debug.Print ("El Servidor de Mensajeria MoviStar se estáactivando")
Case ESCM_Parando
Debug.Print ("El Servidor de Mensajeria MoviStar se estáparando")
Case ESCM_Parado
Debug.Print ("El Servidor de Mensajeria MoviStar está pa-rado")
End Select
2.3.1.3 IntentosPeticion
La propiedad IntentosPeticion permite modificar el número de veces que seintenta una petición antes de eliminarla. Es una propiedad de lectura/escritura.
SINTAXIS
Property IntentosPeticion As Long
2.3.1.4 MostraTaskBarlcon
La propiedad MostrarTaskBarlcon permite mostrar u ocultar el icono del SMMen la barra de tareas. Es una propiedad de lectura/escritura.
SINTAXIS
Property MostrarTaskBarlcon As Boolean
2.3.1.5 NumeroWorkerThreads
La propiedad NumeroWorkerThreads permite modificar el número de threadsque utiliza el SMM para procesar las peticiones. Cuando se modifica, el cambiono es inmediato, es decir, se espera a que terminen los procesos pendientes, ydespués se modifica el número de threads. Es una propiedad de lectu-ra/escritura.
SINTAXIS
Property NumeroWorkerThreads As Integer
-
OBJETOS DEL SMM
2-19
2.3.1.6 TiempoRefrescoWorkerThreads
La propiedad TiempoRefrescoWorkerThreads permite modificar cada cuantotiempo se chequea la existencia de peticiones solicitadas. Es una propiedad delectura/escritura.
SINTAXIS
Property TiempoRefrescoWorkerThreads As Long
2.3.1.7 Servicio
La propiedad Servicio permite indicar si se desea que el servidor se instale co-mo un servicio NT o no. Se debe rearrancar el SMM para que se arranque co-mo un servicio. Sólo NT y Windows 2000.
SINTAXIS
Property Servicio As Boolean
2.3.1.8 ChequearDispositivos
La propiedad ChequearDispositivos permite indicar que el servidor chequee losdispositivos cada cierto tiempo. Es una propiedad de lectura/escritura.
Si se arranca, el SMM detecta los dispositivos y los intenta inicializar. Despuésde arrancar si se añade un nuevo dispositivo, la forma que el SMM lo detecte esactivando la propiedad ChequearDispositivo. Si esta propiedad no se activa, pa-ra detectar los dispositivos se debe realizar manualmente.
SINTAXIS
Property ChequearDispositivos As Boolean
2.3.1.9 TiempoChequearDispositivos
La propiedad TiempoChequearDispositivos permite modificar cada cuantotiempo se chequean los dispositivos. Es una propiedad de lectura/escritura.
SINTAXIS
Property TiempoChequearDispositivos As Long
-
OBJETOS DEL SMM
2-20
2.3.2 Métodos
En este apartado se detallan los métodos de la interfaz IAdministrador.
2.3.2.1 Configurar
El método Configurar muestra la ventana de configuración del SMM. Es unmétodo que sólo se puede utilizar en local.
SINTAXIS
Sub Configurar()
EJEMPLO
Private Sub ConfigurarServidor ( )
g_Admin.Configurar hWnd, 0
End Sub
2.3.2.2 PararProceso
El método PararProceso para el tratamiento de las peticiones.
SINTAXIS
Sub PararProceso()
2.3.2.3 ReanudarProceso
El método ReanudarProceso reanuda el tratamiento de las peticiones.
SINTAXIS
Sub ReanudarProceso()
2.4 OBJETO ScmDispositivos
El objeto ScmDispositivos implementa la interfaz IDispositivos y la interfaz IDispositivosE-vents. Da acceso a la colección de todos los dispositivos compatibles existentes en el siste-ma. Los dispositivos existentes en el sistema pueden cambiar de forma dinámica y se debeestar preparado para ello. Está contenido en el fichero ServidorCorreoMoviStar.exe.
Sólo se puede tener acceso a esta colección de objetos a través de la propiedad Dispositivosde la interfaz IAdministrador.
-
OBJETOS DEL SMM
2-21
2.4.1 Interfaz IDispositivos
La Tabla 2-18: PROPIEDADES IDispositivos muestra las propiedades de la interfaz IDis-positivos.
Tabla 2-18: PROPIEDADES IDispositivos
Nombre Tipo Acceso
Count Long Sólo lectura
Item IDispositivo Sólo lectura
La Tabla 2-19: MÉTODOS IDispositivos muestra los métodos de la interfaz IDispositivos.
Tabla 2-19: MÉTODOS IDispositivos
Nombre Parámetros
Actualizar
Find Dispositivo As String
Conectar Pevents As IUnknown, Flags AsConectarDispositivosFlags
Desconectar Cookie As Long
2.4.1.1 Propiedades
En este apartado se detallan las propiedades de la interfaz IDispositivos:
2.4.1.1.1 Count
La propiedad Count de sólo lectura devuelve el número de dispositivos compa-tibles existentes en el sistema.
SINTAXIS
Property Count As Long
-
OBJETOS DEL SMM
2-22
2.4.1.1.2 Item
La propiedad Item es de sólo lectura, que devuelve un dispositivo que ocupauna determinada posición.Property (Item As Long) As IDispositivo
2.4.1.2 Métodos
En este apartado se detallan los métodos de la interfaz IDispositivos.
2.4.1.2.1 Actualizar
Solicita al SMM que chequee al sistema para detectar los dispositivos compati-bles.
SINTAXIS
Sub Actualizar()
EJEMPLO
g_dispositivos.Actualizar ( )
2.4.1.2.2 Find
El método Find busca un dispositivo en la colección de dispositivos compati-bles del sistema.
SINTAXIS
Function Find (Dispositivo As String) As IDispositivo
PARÁMETROS
La Tabla 2-20: PARÁMETROS Find muestra los parámetros del métodoFind.
-
OBJETOS DEL SMM
2-23
Tabla 2-20: PARÁMETROS Find
Parámetros Tipo Descripción Cumplimentación
Dispositivo String Es el nombre del dispo-sitivo que se está bus-cando
Requerido
EJEMPLO
Dim g_dispositivo As IDispositivo
Set g_dispositivo = g_dispositivos.Find ("COM1")
2.4.1.2.3 Conectar
El método Conectar es un método alternativo para la captura de eventos. Es unmétodo más rápido que el método estándar.
SINTAXIS
Function Conectar (pEvents As IUnkown, Flags As ConectarDisposi-tivosFlags)
PARÁMETROS
La Tabla 2-21: PARÁMETROS Conectar III muestra los parámetros delmétodo Conectar de la interfaz IDispositivos.
Tabla 2-21: PARÁMETROS Conectar III
Parámetros Tipo Descripción Cumplimentación
pEevents IUnknown
Flags ConectarDispositivosFlags Es el que decideque eventos capturao no
EJEMPLO
Implements IDispositivosEvents
Dim g_lCookieDispositivos As Long
-
OBJETOS DEL SMM
2-24
g_lCookieDispositivos=Conectar(Me,CD_All)
2.4.1.2.4 Desconectar
El método Desconectar es un método que finaliza la captura de los eventos.
SINTAXIS
Function Desconectar (Cookie As Long)
PARÁMETROS
La Tabla 2-22: PARÁMETROS Desconectar III muestra los parámetros delmétodo de Desconectar de la interfaz IDispositivos.
Tabla 2-22: PARÁMETROS Desconectar III
Parámetros Tipo Descripción Cumplimentación
Cookie Long Finaliza la capturade los eventos
EJEMPLO
Desconectar (g_lCookieDispositivos)
2.4.2 Interfaz IDispositivosEvents
La Tabla 2-23: EVENTOS IDispositivosEvents muestra los eventos de la interfaz IDispo-sitivosEvents.
Tabla 2-23: EVENTOS IDispositivosEvents
Nombre Parámetros
OnNuevoDispositivo Dispositivo As Idispositivo
OnDispositivoEliminado Conexión As String
OnDispositivoModificado Dispositivo As Idispositivo
OnDispositivoInicializado Dispositivo As String, Datos As ScmDatosAgendaSIM
-
OBJETOS DEL SMM
2-25
Nombre Parámetros
OnNuevaEntradaAgenda Dispositivo As String, Datos As ScmDatosAgendaSIM
OnEntradaAgendaBorrada Dispositivo As String, Posicion As Integer
OnEntradaAgendaModificada Dispositivo As String, Datos As IdatosAgendaSIM
OnActualizarAgendaSIM Dispositivo As String, Resultado As Long
OnActualizarMensajesSIM Dispositivo As String, Resultado As Long
OnRecibir Dispositivo as String, Resultado as Long
OnNuevoMensaje Dispositivo As String, Datos As IdatosMensajesSIM
OnMensajeBorrado Dispositivo As String, Posicion As Integer
Como la colección de dispositivos compatibles del sistema cambia dinámicamente, la inter-faz IDispositivosEvents tiene una serie de eventos que avisan de estos cambios.
Además incluye los eventos relativos a la AgendaSIM y a los MensajesSIM.
A continuación se describen cada uno de los eventos de la interfaz IDispositivosEvents.
2.4.2.1 OnNuevoDispositivo
El evento OnNuevoDispositivo avisa que se ha añadido un nuevo dispositivo ala colección de dispositivos del sistema.
SINTAXIS
Sub OnNuevoDispositivo (Dispositivo As IDispositivo)
PARÁMETROS
La Tabla 2-24: PARÁMETROS OnNuevoDispositivo muestra los paráme-tros del evento OnNuevoDispositivo.
Tabla 2-24: PARÁMETROS OnNuevoDispositivo
Parámetros Tipo Descripción
Dispositivo Idispositivo Datos del nuevodispositivo.
-
OBJETOS DEL SMM
2-26
EJEMPLO
En este ejemplo se produce el evento OnNuevoDispositivo, y añade el nombredel dispositivo a un listbox.Private Sub g_dispositivos_OnNuevoDispositivo(ByVal DispositivoAs IDispositivo)
ListaDispositivos.AddItem Dispositivo.Conexion
End Sub
2.4.2.2 OnDispositivoEliminado
El evento OnDispositivoEliminado avisa que se ha eliminado un dispositivo.
SINTAXIS
Sub OnDispositivoEliminado (Dispositivo As String)
PARÁMETROS
La Tabla 2-25: PARÁMETROS OnDispositivoEliminado muestra los pará-metros del evento OnDispositivoEliminado.
Tabla 2-25: PARÁMETROS OnDispositivoEliminado
Parámetros Tipo Descripción
Dispositivo String Dispositivoafectado
EJEMPLO
En este ejemplo se busca en el listbox ListaDispositivos el dispositivo y siexiste dicho elemento en el listbox se borra.Private Sub g_dispositivos_OnDispositivoEliminado(ByVal Disposi-tivo As String)
ListaDispositivos.ListIndex = SendMessa-ge(ListaDispositivos.hWnd, LB_FINDSTRING, -1, ByVal Dispositivo)
If ListaDispositivos.ListIndex >= 0 Then
ListaDispositivos.RemoveItem (ListaDispositi-vos.ListIndex)
Else
Debug.Print ("NO ENCONTRADO")
End If
-
OBJETOS DEL SMM
2-27
End Sub
2.4.2.3 OnDispositivoModificado
El evento OnDispositivoModificado avisa que se ha modificado un dispositivo.Lo más común es que se haya modificado el nombre, el protocolo o el estadodel dispositivo.
SINTAXIS
Sub OnDispositivoModificado (Dispositivo As IDispositivo)
PARÁMETROS
La Tabla 2-26: PARÁMETROS OnDispositivoModificado muestra los pa-rámetros del evento OnDispositivoModificado.
Tabla 2-26: PARÁMETROS OnDispositivoModificado
Parámetros Tipo Descripción
Dispositivo Idispositivo Contiene los datos del dispositivoque se ha modificado
EJEMPLO
Private Sub g_dispositivos_OnDispositivoModificado(ByVal Disposi-tivo As IDispositivo)
Debug.Print (Dispositivo.Conexion & " " & Dispositivo.Estado)
End Sub
2.4.2.4 OnNuevaEntradaAgenda
El evento OnNuevaEntradaAgenda avisa que se ha añadido una entrada de laagenda en la SIM de un dispositivo o que se ha llamado al método ActualizaA-genda en el dispositivo.
SINTAXIS
Sub OnNuevaEntradaAgenda (Dispositivo As String, Datos As IDato-sAgendaSIM)
-
OBJETOS DEL SMM
2-28
PARÁMETROS
La Tabla 2-27: PARÁMETROS OnNuevaEntradaAgenda muestra los pa-rámetros del evento OnNuevaEntradaAgenda.
Tabla 2-27: PARÁMETROS OnNuevaEntradaAgenda
Parámetros Tipo Descripción
Dispositivo String Dispositivo afectado
Datos IDatosAgendaSIM Contiene los datos de la nueva entra-da para ese dispositivo
EJEMPLO
En el ejemplo, el evento OnNuevaEntradaAgenda de la interfaz IDispositivosse añade los datos de la nueva entrada en un listbox que contiene los datos delas entradas para ese dispositivo.Private Sub g_dispositivos_OnNuevaEntradaAgenda(ByVal DispositivoAs String, ByVal Datos As IDatosAgendaSIM)
Dim IDispositivo As Integer
IDispositivo = SendMessage(ListDispositivos.hWnd,LB_FINDSTRING, -1, ByVal Dispositivo)
If IDispositivo >= 0 Then
'Hay que comprobar si ya estaba
Dim i As Integer
Dim iNum As Integer
Dim bExiste As Integer
bExiste = False
iNum = ListAgendaSIM(iDispositivo).ListCount
For i = 0 To iNum - 1
If ListAgendaSIM(iDispositivo).ItemData(i) = Da-tos.Posicion Then
bExiste = True
Exit For
End If
Next i
If Not bExiste Then 'Si no existe se añade
ListAgendaSIM(iDispositivo).AddItem Datos.Nombre
ListAgendaSIM(iDispositivo).ItemData(ListAgendaSIM(iDispositivo).ListCount - 1) = Datos.Posicion
End If
-
OBJETOS DEL SMM
2-29
End If
End Sub
2.4.2.5 OnEntradaAgendaModificada
El evento OnEntradaAgendaModificada avisa que una entrada de la agendaSIM del dispositivo se ha modificado.
SINTAXIS
Sub OnEntradaAgendaModificada (Dispositivo As String, Datos AsIDatosAgendaSIM)
PARÁMETROS
La Tabla 2-28: PARÁMETROS OnEntradaAgendaModificada muestra losparámetros del evento OnEntradaAgendaModificada.
Tabla 2-28: PARÁMETROS OnEntradaAgendaModificada
Parámetros Tipo Descripción
Dispositivo String Dispositivo afectado
Datos IdatosAgendaSIM Contiene los datos de laentrada modificada paraese dispositivo
EJEMPLO
En el ejemplo el evento OnEntradaAgendaModificada de la interfaz IDisposi-tivos añade los datos de la nueva entrada en un listbox que contiene los datos delas entradas para ese dispositivo.Private Sub g_dispositivos_OnEntradaAgendaModificada(ByVal Dispo-sitivo As String, ByVal Datos As IDatosAgendaSIM)
Dim iDispositivo As Integer
iDispositivo = SendMessage(ListDispositivos.hWnd,LB_FINDSTRING, -1, ByVal Dispositivo)
If iDispositivo >= 0 Then
Dim i As Integer
Dim iNum As Integer
Dim bExiste As Integer
-
OBJETOS DEL SMM
2-30
bExiste = False
iNum = ListAgendaSIM(iDispositivo).ListCount
For i = 0 To iNum - 1
If ListAgendaSIM(iDispositivo).ItemData(i) = Da-tos.Posicion Then
ListAgendaSIM(iDispositivo) = Datos.Nombre
bExiste = True
Exit For
End If
Next i
If Not bExiste Then
ListAgendaSIM(iDispositivo).AddItem Datos.Nombre
ListAgendaSIM(iDispositivo).ItemData(ListMensajesSIM(iDispositivo).ListCount - 1) = Datos.Posicion
End If
End If
End Sub
2.4.2.6 OnEntradaAgendaBorrada
El evento OnEntradaAgendaBorrada avisa que se ha borrado una entrada de laagenda SIM del dispositivo.
SINTAXIS
Sub onEntradaAgendaBorrada (Dispositivo As String, Posicion AsLong)
PARÁMETROS
La Tabla 2-29: PARÁMETROS OnEntradaAgendaBorrada muestra los pa-rámetros del evento OnEntradaAgendaBorrada.
Tabla 2-29: PARÁMETROS OnEntradaAgendaBorrada
Parámetros Tipo Descripción
Dispositivo String Dispositivo del que se ha elimi-nado la entrada de la agenda SIM
Posicion Long Contiene la posición de la entra-da en la agenda SIM que se haeliminado
-
OBJETOS DEL SMM
2-31
EJEMPLO
En este ejemplo el evento OnEntradaAgendaBorrada elimina del listbox quecontiene las entradas para ese dispositivo, la entrada que se ha eliminado en él.Private Sub g_dispositivos_OnEntradaAgendaBorrada(ByVal Disposi-tivo As String, ByVal Posicion As Long)
Dim iDispositivo As Integer
iDispositivo = SendMessage(ListDispositivos.hWnd,LB_FINDSTRING, -1, ByVal Dispositivo)
If iDispositivo >= 0 Then
Dim i As Integer
Dim iNum As Integer
iNum = ListAgendaSIM(iDispositivo).ListCount
For i = 0 To iNum - 1
If ListAgendaSIM(iDispositivo).ItemData(i) = Posi-cion Then
ListAgendaSIM(iDispositivo).RemoveItem (i)
Exit For
End If
Next i
End If
End Sub
2.4.2.7 OnNuevoMensaje
El evento OnNuevoMensaje avisa que se ha añadido un nuevo mensaje en laSIM de un determinado dispositivo o que se ha llamado al método Actualizarde los MensajesSIM en el dispositivo.
SINTAXIS
Sub OnNuevoMensaje (Dispositivo As String, Datos As IDatosMensa-jesSIM)
PARÁMETROS
La Tabla 2-30: PARÁMETROS OnNuevoMensaje muestra los parámetrosdel evento OnNuevoMensaje.
-
OBJETOS DEL SMM
2-32
Tabla 2-30: PARÁMETROS OnNuevoMensaje
Parámetros Tipo Descripción
Dispositivo String Dispositivo al quese le ha añadido unnuevo mensajeSIM
Datos IDatosMensajesSIM Contiene los datosdel nuevo mensajeSIM
EJEMPLO
En este ejemplo el evento OnNuevoMensaje añade los datos del nuevo mensajeSIM del dispositivo al listbox que contiene los mensajes SIM del dispositivocorrespondiente.Private Sub g_dispositivos_OnNuevoMensaje(ByVal Dispositivo AsString, ByVal Datos As IDatosMensajesSIM)
Dim iDispositivo As Integer
iDispositivo = SendMessage(ListDispositivos.hWnd,LB_FINDSTRING, -1, ByVal Dispositivo)
If iDispositivo >= 0 Then
Dim i As Integer
Dim iNum As Integer
Dim bExiste As Integer
bExiste = False
iNum = ListMensajesSIM(iDispositivo).ListCount
For i = 0 To iNum - 1
If ListMensajesSIM(iDispositivo).ItemData(i) = Da-tos.Posicion Then
bExiste = True
Exit For
End If
Next i
If Not bExiste Then
ListMensajesSIM(iDispositivo).AddItem Datos.Mensaje
ListMensajesSIM(iDispositivo).ItemData(ListMensajesSIM(iDispositivo).ListCount - 1) = Datos.Posicion
End If
End If
End Sub
-
OBJETOS DEL SMM
2-33
2.4.2.8 OnMensaje Borrado
El evento OnMensajeBorrado avisa que se ha borrado un mensaje de la SIM deun dispositivo.
SINTAXIS
Sub OnMensajeBorrado (Dispositivo As String, Posicion As Long)
PARÁMETROS
La Tabla 2-31: PARÁMETROS OnMensajeBorrado muestra los parámetrosdel evento OnMensajeBorrado.
Tabla 2-31: PARÁMETROS OnMensajeBorrado
Parámetros Tipo Descripción
Dispositivo String Dispositivo al que se le haeliminado un nuevo mensajeSIM
Posicion Long Posicion del mensaje en laSIM del dispositivo
EJEMPLO
En este ejemplo el evento OnMensajeBorrado elimina del listbox que contienelos mensajes SIM de ese dispositivo el mensaje eliminado.Private Sub g_dispositivos_OnMensajeBorrado(ByValDispositivo AsString, ByVal Posicion As Long)
Dim iDispositivo As Integer
IDispositivo=SendMessage(ListDispositivos.hWnd,LB_FINDSTRING,-1, ByVal Dispositivo)
If iDispositivo >=0 Then
Dim i As Integer
Dim iNum As Integer
INum=ListMensajesSIM(iDispositivo).ListCount
For i=0 To iNum –1
If ListMensajes-SIM(iDispositivo).ItemData(i)=Posicion Then
ListMensajesSIM(iDispositivo).RemoveItem(i)
-
OBJETOS DEL SMM
2-34
Exit For
End If
Next i
End If
End Sub
2.4.2.9 OnDispositivoInicializado
El evento OnDispositivoInicializado avisa que se ha inicializado el dispositivo.
SINTAXIS
Sub OnDispositivoInicializado (Dispositivos As String, Datos AsIDatosDispositivo)
PARÁMETROS
La Tabla 2-32: PARÁMETROS OnDispositivoInicializado muestra los pa-rámetros del evento OnDispositivoInicializado.
Tabla 2-32: PARÁMETROS OnDispositivoInicializado
Parámetros Tipo Descripción
Dispositivo String Dispositivo inicializado
Datos IdatosDispositivo Datos del dispositivo inicializado
EJEMPLO
En este ejemplo el evento OnDispositivoInicializado, muestra en la ventanaDebug el mensaje OnDispositivoInicializado, y los datos del dispositivo inicia-lizado correspondientes al número máximo de posiciones en la agenda SIM y eltamaño máximo para cada una de las entradas.Private Sub g_dispositivos_OnDispositivoInicializado(ByVal Dispo-sitivo As String, ByVal Datos As IDatosDispositivo)
Debug.Print ("OnDispositivoInicializado")
Debug.Print (Datos.MaxPosicionesAgenda)
Debug.Print (Datos.MaxTamanoNombreAgenda)
End Sub
-
OBJETOS DEL SMM
2-35
2.4.2.10 OnActualizarAgendaSIM
El evento OnActualizarAgendaSIM avisa de la finalización de una operación deactualizar la agenda de la SIM.
SINTAXIS
Sub OnActualizarAgendaSIM (Dispositivo As String, Resultado AsLong)
PARÁMETROS
La Tabla 2-33: PARÁMETROS OnActualizarAgendaSIM muestra los pa-rámetros del evento OnActualizarAgendaSIM.
Tabla 2-33: PARÁMETROS OnActualizarAgendaSIM
Parámetros Tipo Descripción
Dispositivo String Dispositivo del que se ha actualizado la agenda SIM
Resultado Long Resultado de la operación de actualizar mensajes SIM deldispositivo. Si es igual a 0 es que ha sido correcta la opera-ción de actualizar. Si es distinto de 0, es un código de error yla operación no ha sido correcta. En este caso, se puedeutilizar el método DameTextoError del objeto ScmAplicacionpara determinar el texto del error correspondiente al valorque contiene Resultado
EJEMPLO
Private Sub g_dispositivos_OnActualizarAgendaSIM(ByVal Dispositi-vo As String, ByVal Resultado As Long)
Debug.Print ("OnActualizarAgendaSIM =" & Resultado)
End Sub
2.4.2.11 OnRecibir
El evento OnRecibir avisa de la finalización de una operación de recepción.
SINTAXIS
Sub OnOnRecibir (Dispositivo As String, Resultado As Long)
-
ScmDispositivo
2-36
PARÁMETROS
La Tabla 2-34: PARÁMETROS OnRecibir muestra los parámetros delevento OnRecibir.
Tabla 2-34: PARÁMETROS OnRecibir
Parámetros Tipo Descripción
Dispositivo String Dispositivo afectado
Resultado Long Resultado de la operación de recep-ción. Si es igual a 0 es que ha sidocorrecta la operación de actualizar. Sies distinto de 0, es un código de errory la operación no ha sido correcta. Eneste caso, se puede utilizar el métodoDameTextoError del objeto ScmApli-cacion para determinar el texto delerror correspondiente al valor quecontiene Resultado
EJEMPLO
Private Sub g_dispositivos_OnRecibir(ByVal Dispositivo As String,ByVal Resultado As Long)
Debug.Print ("OnRecibir =" & Resultado)
End Sub
2.5 OBJETO ScmDispositivo
Este objeto implementa la interfaz IDispositivo que permite gestionar la agenda y los men-sajes de la SIM de un dispositivo. Está contenido en el fichero ServidorCorreoMoviStar.exe.
La Tabla 2-35: PROPIEDADES IDispositivo muestra las propiedades de la interfaz IDis-positivo.
Tabla 2-35: PROPIEDADES IDispositivo
Nombre Tipo Acceso
Nombre String Sólo lectura
-
ScmDispositivo
2-37
Nombre Tipo Acceso
Conexión String Sólo lectura
Estado EstadoDispositivo Sólo lectura
Protocolo String Lectura/Escritura
VersionDeSoftware String Sólo lectura
AgendaSIM IAgendaSIM Sólo lectura
MensajesSIM IMensajesSIM Sólo lectura
Bloqueado NivelesBloqueoDispositivo Lectura/Escritura
A continuación se detallan cada una de las propiedades de la interfaz IDispositivo.
2.5.1 Nombre
La propiedad Nombre permite leer el nombre del dispositivo.
SINTAXIS
Property Nombre As String
Ejemplo
Dim Nombre as String
Nombre = g_dispositivo.Nombre
2.5.2 Conexion
La propiedad Conexión es de sólo lectura y devuelve la conexión que utiliza el dispositivo.En la actualidad sólo se soporta puerto serie, luego la conexión es el nombre del puerto.
SINTAXIS
Property Conexión As String
EJEMPLO
Dim Conexion as String
Conexion = g_dispositivo.Conexion
-
ScmDispositivo
2-38
2.5.3 Estado
La propiedad Estado devuelve el estado en el que se encuentra el dispositivo.
SINTAXIS
Property Estado As EstadosDispositivo
Ejemplo
Dim Estado As EstadoDispositivo
Estado = g_dispositivo.Estado
Los posibles estados en los que se puede encontrar un dispositivo están enumerados en el ti-po EstadoDispositivo.
2.5.4 Protocolo
La propiedad Protocolo devuelve el protocolo que utiliza el dispositivo.
SINTAXIS
Property Protocolo As String
Ejemplo
Dim protocolo as String
protocolo = objetoScmDispositivo.Protocolo
2.5.5 VersionDeSoftware
La propiedad VersionDeSoftware devuelve la versión de software del dispositivo.
SINTAXIS
Property VersionDeSoftware As String
EJEMPLO
Dim version as String
version = objetoScmDispositivo. Version
-
ScmDispositivo
2-39
2.5.6 AgendaSIM
La propiedad AgendaSIM de sólo lectura, sólo está disponible para algunos terminales com-patibles ETSI 07.05. Si se utiliza y el terminal no soporta dicha propiedad, se devuelve uncódigo de error que informa que dicho terminal no soporta esta propiedad. Da acceso a lainterfaz IAgendaSIM del dispositivo.
SINTAXIS
Property AgendaSIM As IAgendaSIM
EJEMPLO
Private g_AgendaDispositivo As IAgendaSIM
Set g_AgendaDispositivo = g_dispositivo.AgendaSIM
2.5.7 MensajesSIM
La propiedad MensajesSIM de sólo lectura, sólo está disponible para algunos terminalescompatibles ETSI 07.05. Si se utiliza y el terminal no soporta dicha propiedad, se devuelveun código de error que informa que dicho terminal no soporta esta propiedad. Da acceso a lainterfaz IMensajesSIM del dispositivo.
SINTAXIS
Property MensajesSIM As IMensajesSIM
EJEMPLO
Private g_MensajesDispositivo As IMensajesSIM
Set g_MensajesDispositivo = g_dispositivo.MensajesSIM
2.5.8 Bloqueado
La propiedad Bloqueado indica si el dispositivo está bloqueado.
SINTAXIS
Property Bloqueado As NivelesBloqueoDispositivo
EJEMPLO
Dim bloqueado As NivelesBloqueoDispositivo
bloqueado = objetoScmDispositivo. Bloqueado
-
ScmDispositivo
2-40
2.6 OBJETO ScmAgendaSIM
Implementa la interfaz IAgendaSIM que permite gestionar la agenda SIM de un dispositivo.Está contenida en el fichero ServidorCorreoMoviStar.exe.
La Tabla 2-36: MÉTODOS IAgendaSIM muestra los métodos de la interfaz IAgendaSIM.
Tabla 2-36: MÉTODOS IAgendaSIM
Nombre Parámetros
Actualizar
Anadir Datos As IDdatosAgendaSIM
Borrar Nombre As String
Modificar Datos As IDatosAgendaSIM
A continuación se detallan los métodos de la interfaz IAgendaSIM.
2.6.1 Actualizar
Este método solicita al SMM que lea todos las entradas de la agenda SIM del dispositivo. Serealiza de forma asíncrona y se notifica con el evento OnNuevaEntradaSIM.
SINTAXIS
Sub Actualizar()
EJEMPLO
g_AgendaDispositivo.Actualizar
2.6.2 Anadir
El método Anadir añade una entrada a la agenda de la SIM del terminal. Antes de añadir unaentrada en la agenda, se debe actualizar, para obtener las posiciones ocupadas. Si no se ac-tualiza, se puede modificar una entrada existente.
SINTAXIS
Function Anadir (Datos As IDatosAgendaSIM)
-
ScmDispositivo
2-41
PARÁMETROS
La Tabla 2-37: PARÁMETROS Anadir muestra los parámetros del método Anadir.
Tabla 2-37: PARÁMETROS Anadir
Parámetros Tipo Descripción Cumplimentación
Datos IdatosAgendaSIM Objeto que contienelos datos de la nuevaentrada que se quiereañadir en la agendade la SIM
Requerido
EJEMPLO
El siguiente procedimiento muestra como se puede añadir una entrada a la agenda de la SIMde un dispositivo.Private Sub AnadirEntradaAgendaSIM( )
On Error GoTo TratErrorAnadirEntradaAgendaSIM
If Not g_AgendaDispositivo is Nothing Then
Dim Datos As New ScmDatosAgendaSIM
Datos.Telefono = "123456789"
Datos.Nombre = TextNombreAgenda.Text
g_AgendaDispositivo.Anadir Datos
else
MsgBox ("No existe el dispositivo")
End if
SalirAnadirEntradaAgendaSIM:
Set Datos = Nothing
Exit Sub
TratErrorAnadirEntradaAgendaSIM:
MsgBox (Error$)
Resume SalirAnadirEntradaAgendaSIM
End Sub
Nota: La propiedad Nombre de la interfaz IDatosAgendaSIM tiene una limitación detamaño que depende de cada terminal. Esta información se recibe en el eventoOnDispositivoInicializado. Si el tamaño es superado se devuelve un error.
-
ScmDispositivo
2-42
2.6.3 Borrar
El método Borrar permite borrar una entrada de la agenda SIM del terminal.
SINTAXIS
Sub Borrar()
EJEMPLO
El siguiente procedimiento muestra como se puede eliminar una entrada de la agenda SIMdel dispositivo:Private Sub cmdEliminarAgendaSIM_Click()
On Error GoTo TratErrorcmdEliminarAgendaSIM_Click
If Not g_AgendaDispositivo Is Nothing Then
If 0 > ListAgendaSIM(ListDispositivos.ListIndex).ListIndex Then
MsgBox ("Selecione una entrada de la agenda")
Exit Sub
End If
g_AgendaDispositivo.Borrar ListAgendaSIM(ListDispositivos.ListIndex).ItemData(ListAgendaSIM(ListDisp
ositivos.ListIndex).ListIndex)
Else
MsgBox ("No existe el dispositivo")
End If
SalircmdEliminarAgendaSIM_Click:
Exit Sub
TratErrorcmdEliminarAgendaSIM_Click:
MsgBox ("No existe ese nombre en la agenda")
Resume SalircmdEliminarAgendaSIM_Click
End Sub
2.6.4 Modificar
El método Modificar permite modificar una entrada de la agenda SIM del dispositivo.
SINTAXIS
Sub Modificar()
-
ScmDispositivo
2-43
EJEMPLO
El siguiente procedimiento muestra como se puede modificar una entrada de la agenda SIMdel dispositivo.Private Sub cmdModificarAgendaSIM_Click()
On Error GoTo TratErrorcmdModificarAgendaSIM_Click
If Not g_AgendaDispositivo Is Nothing Then
If 0 > ListAgendaSIM(ListDispositivos.ListIndex).ListIndex Then
MsgBox ("Selecione una entrada de la agenda")
Exit Sub
End If
Dim Datos As New ScmDatosAgendaSIM
Datos.Telefono = TextTelefonoAgenda.Text
Datos.Nombre = TextNombreAgenda.Text
Datos.Posicion = ListAgenda-SIM(ListDispositivos.ListIndex).ItemData(ListAgendaSIM(ListDispositivos.ListIndex).ListIndex)
g_AgendaDispositivo.Modificar Datos
Set Datos = Nothing
Else
MsgBox ("No existe el dispositivo")
End If
SalircmdModificarAgendaSIM_Click:
Set Datos = Nothing
Exit Sub
TratErrorcmdModificarAgendaSIM_Click:
MsgBox ("No existe ese nombre en la agenda")
Resume SalircmdModificarAgendaSIM_Click
End Sub
Nota: La propiedad Nombre de la interfaz IDatosAgendaSIM tiene una limitación detamaño que depende de cada terminal. Esta información se recibe en el eventoOnDispositivoInicializado. Si el tamaño se supera se devuelve un error.
2.7 OBJETO ScmMensajesSIM
Este objeto implementa la interfaz IMensajesSIM que permite gestionar la colección de men-sajes de la SIM de un dispositivo. Está contenido en el fichero ServidorCorreoMoviStar.exe.
La Tabla 2-38: MÉTODOS IMensajesSIM muestra los métodos de la interfaz IMensajes-SIM.
-
ScmDispositivo
2-44
Tabla 2-38: MÉTODOS IMensajesSIM
Nombre Parámetros
Actualizar
Anadir Datos As IDatosMensajesSIM
Borrar Posicion As Integer
Enviar Posicion as Long, Telefono As String
A continuación se detalla cada uno de los métodos de la interfaz IMensajesSIM.
2.7.1 Actualizar
Este método solicita al SMM que lea todas las entradas de la agenda SIM del dispositivo. Serealiza de forma asíncrona y se notifica con el evento OnNuevaEntradaSIM.
SINTAXIS
Sub Actualizar()
EJEMPLO
g_MensajesSIMDispositivo.Actualizar
2.7.2 Anadir
El método Anadir añade un nuevo mensaje a la SIM del terminal.
SINTAXIS
Function Anadir (Datos As IDatosMensajesSIM)
PARÁMETROS
La Tabla 2-39: PARÁMETROS Anadir muestra los parámetros del método Anadir.
-
ScmDispositivo
2-45
Tabla 2-39: PARÁMETROS Anadir
Parámetros Tipo Descripción Cumplimentación
Datos IDatosMensajesSIM Contiene el mensaje quese va a añadir a la SIMdel terminal
Requerido
EJEMPLO
El siguiente procedimiento muestra como se puede añadir un nuevo mensaje a la SIM deldispositivo:Private Sub cmdAnadirmensajeSIM_Click()
On Error GoTo TratErrorcmdAnadirmensajeSIM_Click
If Not g_MensajesSIMDispositivo Is Nothing Then
Dim Datos As New ScmDatosMensajesSIM
Datos.Mensaje = "Hola"
Datos.Telefono = "616469127"
Datos.PedirNotificacion = True
Datos.Filtrar = True
g_MensajesSIMDispositivo.Anadir Datos
Else
MsgBox ("No existe el dispositivo")
End If
SalircmdAnadirmensajeSIM_Click:
Set Datos = Nothing
Exit Sub
TratErrorcmdAnadirmensajeSIM_Click:
MsgBox ("Ya existe un mensaje en esa posición")
Resume SalircmdAnadirmensajeSIM_Click
End Sub
2.7.3 Borrar
El método Borrar permite borrar un mensaje de la SIM del dispositivo.
SINTAXIS
Function Borrar (Posicion As Long)
-
ScmDispositivo
2-46
PARÁMETROS
La Tabla 2-40: PARÁMETROS Borrar muestra los parámetros del método Borrar.
Tabla 2-40: PARÁMETROS Borrar
Parámetros Tipo Descripción Cumplimentación
Posicion Long Indica la posición del mensajeque se quiere borrar dentro de laSIM
Requerido
EJEMPLO
El siguiente procedimiento muestra como se puede borrar un mensaje de la SIM del disposi-tivo:Private Sub cmdEliminarMensajeSIM_Click()
If Not g_MensajesSIMDispositivo Is Nothing Then
If 0 > ListMensajesSIM(ListDispositivos.ListIndex).ListIndex Then
MsgBox ("Selecione un mensaje")
Exit Sub
End If
g_MensajesSIMDispositivo.Borrar ListMensajes-SIM(ListDispositivos.ListIndex).ItemData(ListMensajesSIM(ListDispositivos.ListIndex).ListIndex)
Else
MsgBox ("No existe el dispositivo")
End If
End Sub
2.7.4 Enviar
El método Enviar permite enviar un mensaje desde la memoria de la SIM de un terminal.Los mensajes se pueden almacenar con o sin destinatario. Si se almacena sin destinatario, elparámetro teléfono es obligatorio, pero si se almacena con el destinatario es opcional.
SINTAXIS
Function Enviar (Posicion As Long, [Destinatario As String])
-
ScmDispositivo
2-47
PARÁMETROS
La Tabla 2-41: PARÁMETROS Enviar muestra los parámetros del método Enviar.
Tabla 2-41: PARÁMETROS Enviar
Parámetros Tipo Descripción Cumplimentación
Posicion Long Indica la posición del mensaje que sequiere enviar, dentro de la SIM.
Requerido
Destinatario String Indica el destinatario al cual se deseaenviar el mensaje. Si el destinatarioestá guardado dentro del mensajeentonces no es necesario añadirlo. Sipor el contrario el destinatario noforma parte del mensaje, es obligato-rio rellenarlo. En este caso, si no esrellenado el método devuelve uncódigo de error.
Opcional
EJEMPLO
El siguiente procedimiento muestra como se puede enviar un mensaje a la SIM del dispositi-vo:Private Sub cmdEnviarMensajeSIM_Click()
If Not g_MensajesSIMDispositivo Is Nothing Then
If 0 > ListMensajesSIM(ListDispositivos.ListIndex).ListIndex Then
MsgBox ("Selecione un mensaje")
Exit Sub
End If
g_MensajesSIMDispositivo.Enviar ListMensajes-SIM(ListDispositivos.ListIndex).ItemData(ListMensajesSIM(ListDispositivos.ListIndex).ListIndex), ""
Else
MsgBox ("No existe el dispositivo")
End If
End Sub
-
3-1
3 MODELO DE OBJETOS DE LA LIBRERÍA Da-tosScm.dllEl SMM se basa en la librería DatosScm.dll. Esta librería debe estar instalada en cada má-quina cliente y sirve para optimizar el acceso remoto al servidor. La librería DatosScm.dll esun servidor COM In-Process, que exporta una serie de objetos de datos que implementaninterfaces utilizados tanto por los clientes del sistema para pasarle información como por elpropio sistema internamente.
Los objetos de datos pueden ser de dos tipos:
• Los que crea el cliente y envía al servidor. Este tipo de objetos de datos son los siguien-tes:
o ScmDatosEnviar: implementa la interfaz IDatosEnviar para enviar un mensaje.
o ScmDatosAgendaSIM: implementa la interfaz IDatosAgendaSIM para añadir o mo-dificar una entrada de la agenda de la SIM de un dispositivo.
o ScmDatosMensajeSIM: implementa la interfaz IDatosMensajeSIM para añadir unmensaje en la SIM de un dispositivo.
Estas interfaces implementan un método Validar para que el cliente pueda validar la in-formación que se va a enviar en local y así mejorar el rendimiento.
• Los que crea el servidor y envía a los clientes. Este tipo de objetos de datos son los si-guientes:
o ScmDatosPeticion: implementa la interfaz IDatosPeticion con la información de lapetición.
o ScmDatosMensajeRecibido: implementa la interfaz IDatosMensajeRecibido con lainformación del mensaje.
o ScmDatosNotificacionRecibida: implementa la interfaz IDatosNotificacionRecibidacon la información de la notificación.
Nota: Veáse la explicación del evento OnNotificacionRecibida
o ScmDatosAgendaSIM: implementa la interfaz IDatosAgendaSIM con la informa-ción de una entrada de la agenda.
o ScmDatosMensajeSIM: implementa la interfaz IDatosAgendaSIM con la informa-ción de un mensaje SIM.
La librería auxiliar de datos DatosScm.dll también incluye en objeto ScmIdentificadorUnicoque implementa la interfaz IIdentificadorUnico con un método llamado Nuevo que genera unnuevo identificador único para ser utilizado en la solicitud de una petición.
La Tabla 3-1: OBJETOS, PROPIEDADES Y MÉTODOS muestra los objetos, propieda-des y métodos de la librería DatosScm.dll.
-
MODELO DE OBJETOS DE LA LIBRERÍA DatosScm.dll
3-2
Tabla 3-1: OBJETOS, PROPIEDADES Y MÉTODOS
Objetos Interfaces Propiedades Métodos
ScmDatosEnviar IDatosEnviar ClaseMensaje, Destinatario,FechaEntregaDiferida, Filtrar,Mensaje, PedirNotificacion,PeriodoValidez, TipoDeCodi-ficacion
Validar
ScmDatosMensajeRecibido IDatosMensajeRecibido Fecha, Mensaje, Remitente
ScmDatosNotificacionRecibida IDatosNotificacionRecibida Destinatario, Estado, Fe-chaEntrega, FechaPeticion
ScmDatosPeticion IDatosPeticion Estado, FechaCreacion, Fe-chaEstado, Identificador,Intentos, Prioridad, Resultado,Tipo.
ScmDatosDispositivo IDatosDispositivo MaxPosicionesAgenda,MaxTamanoNombreAgenda,PosInicialAgenda
ScmIdentificadorUnico IIdentificadorUnico Nuevo
ScmDatosAgendaSIM IDatosAgendaSIM Nombre, Posicion, Telefono Validar
ScmDatosMensajesSIM IDatosMensajesSIM ClaseMensaje, Estado, Fecha,Filtrar, Mensaje, PedirNotifi-cacion, PeriodoValidez, Posi-cion, Telefono, TipoDeCodi-ficacion
Validar
3.1 OBJETO ScmDatosEnviar
El objeto ScmDatosEnviar implementa la interfaz IDatosEnviar que se utiliza en las peticio-nes de envío de mensajes.
La Tabla 3-2: PROPIEDADES IDatosEnviar muestra las propiedades de la interfaz IDa-tosEnviar.
-
MODELO DE OBJETOS DE LA LIBRERÍA DatosScm.dll
3-3
Tabla 3-2: PROPIEDADES IDatosEnviar
Nombre Tipo Acceso
ClaseMensaje ClasesDeMensaje Lectura/Escritura
Destinatario String Lectura/Escritura
FechaEntregaDiferi-da
Date Lectura/Escritura
Filtrar Boolean Lectura/Escritura
Mensaje String Lectura/Escritura
PedirNotificacion Boolean Lectura/Escritura
PeriodoValidez Date Lectura/Escritura
TipoDeCodificacion TiposDeCodificacion Lectura/Escritura
La Tabla 3-3: MÉTODOS IDatosEnviar muestra los métodos de la interfaz IDatosEnviar.
Tabla 3-3: MÉTODOS IDatosEnviar
Nombre Parámetros
Validar
3.1.1 Propiedades
En este apartado se detallan las propiedades de la interfaz IDatosEnviar.
3.1.1.1 ClaseMensaje
La propiedad ClaseMensaje afecta al modo de almacenamiento del mensaje enel destinatario.
SINTAXIS
Property ClaseMensaje As ClasesDeMensaje
-
MODELO DE OBJETOS DE LA LIBRERÍA DatosScm.dll
3-4
3.1.1.2 Destinatario
La propiedad Destinatario almacena el destinatario del envío y es obligatoriorellenarlo. Si no se rellena, se produce un error durante la validación.
SINTAXIS
Property Destinatario As String
3.1.1.3 FechaEntregaDiferida
La propiedad FechaEntregaDiferida guarda la fecha en la que se desea que elmensaje sea entregado. El protocolo 07.05 no soporta esta propiedad, pero di-cho protocolo existe para mantener la compatibilidad con otros protocolos. Noes obligatorio rellenarlo.
SINTAXIS
Property FechaEntregaDiferida As Date
3.1.1.4 Filtrar
La propiedad Filtrar permite desactivar la conversión de caracteres al juego decaracteres del protocolo.
SINTAXIS
Property Filtrar As Boolean
3.1.1.5 Mensaje
La propiedad Mensaje contiene el texto del mensaje a enviar, es obligatorio re-llenarlo.
El tamaño máximo del texto del mensaje es de 160 caracteres.
SINTAXIS
Property Mensaje As String
3.1.1.6 PedirNotificacion
La propiedad PedirNotificacion permite indicar al centro de mensajes MoviStarque notifique el estado del mensaje.
-
MODELO DE OBJETOS DE LA LIBRERÍA DatosScm.dll
3-5
En el caso de solicitar notificación el tamaño máximo del mensaje es de 157caracteres.
SINTAXIS
Property PedirNotificacion As Boolean
3.1.1.7 PeriodoValidez
La propiedad PeriodoValidez indica el periodo de validez del mensaje una vezalcanzado el centro de mensajes.
SINTAXIS
Property PeriodoValidez As Date
3.1.1.8 TipoDeCodificacion
La propiedad TipoDeCodificacion permite seleccionar la forma de codificacióndel mensaje. Las combinaciones de TipoDeCodificación y ClasesDeMensajespermiten generar tipos de mensajes especiales, siendo necesario conocer elprotocolo antes de cambiar los valores por defecto de estas propiedades.
SINTAXIS
Property TipoDeCodificacion As TipoDeCodificacion
3.1.2 Mét