Clase cMessage

Entorno.

La clase cMessage, mensaje, surge como necesidad de realizar una comunicación entre las diferentes tareas, tanto a nivel de control como de datos, que pueden cohabitar en el ámbito de ejecución del sistema. Es por ello que van a tener un importante papel dentro del mismo, y por lo tanto van a tener que estar muy optimizados dichos objetos.

Puede haber muchos en el sistema, pero también puede haber pocos, y no debe ser impedimento para una bajada de rendimiento muy notoria, a no ser, claro, como en cualquier sistema, que esté sobrecargado.

Así pues el principio de esta clase, que hace las funciones de sobre con contenido, es la de ser transportada de una tarea a otra, acarreando una información de cualquier tipo.

Grafo.

Vamos a ver cuales son los miembros atributo y los miembros función del Objeto:

  cMessage
Privado: AdrOrigen

AdrDestino

function

lenght

info

Público: cMessage

ReturnOrigin

ReturnDestination

ReturnFunction

ReturnInfo

ReturnInfoSize

SetFunction

SetAdrDest

SetInfo

SetMessage

~cMessage

 

Definición de miembros.

Atributos

AdrOrigen

Tipo: void *.

Cometido: Contener la dirección de origen del mensaje (su propietario)

AdrDestino

Tipo: void *.

Cometido: Contener la dirección de destino del mensaje

function

Tipo: tFunctionMsg (unsigned int).

Cometido: Contiene una serie de valores que ayudan a su interpretación, así como una serie de flags, que nos indican su estado. Vamos a ver los valores correspondientes:

Función del mensaje:

Identificador del controlador

Flags del mensaje:

lenght

Tipo: size_t (stdlib.h).

Cometido: Guarda la talla del contenido del mensaje

info

Tipo: void *.

Cometido: Puntero al buffer de información.

Miembros.

cMessage

cMessage(p1);

Parámetros:

p1:void *, @ Origen.

Cometido: Método constructor, que inicaliza el objeto con origen denominado por p1.

Pseudocódigo:

  1. cMessage(p1)
  2. Inicio
  3. AdrOrigen=p1;
  4. Inicializar_el_resto_de_atributos;
  5. fin.

 

cMessage(p1);

Parámetros:

p1:cMessage *, puntero a mensaje para inicializar.

Cometido: Método constructor, incializa la estructura del mensaje, a partir del parámetro p1.

Pseudocódigo:

  1. cMessage(p1)
  2. inicio
  3. Campos_de_this=Campos_de_p1;
  4. fin.

ReturnOrigin

p1 ReturnOrigin();

Parámetros:

p1: void *, devuelto el puntero al origen.

Cometido: Devolver la @ del origen del mensaje.

Pseudocódigo:

  1. p1 ReturnOrigin()
  2. inicio
  3. devolver AdrOrig;
  4. fin.

ReturnDestination

p1 ReturnDestination();

Parámetros:

p1: void *, devuelto el puntero al destino.

Cometido: Devolver la dirección de destino del mensaje.

Pseudocódigo:

  1. p1 ReturnDestination()
  2. inicio
  3. devolver AdrDestin;
  4. fin.

ReturnFunction

p1 ReturnFunction();

Parámetros:

p1: tFunctionMsg, en él se devuelve el campo función del mensaje.

Cometido: Devolver el campo función del mensaje.

Pseudocódigo:

  1. p1 ReturnFunction()
  2. inicio
  3. devolver function;
  4. fin.

ReturnInfo

p1 ReturnInfo();

Parámetros:

p1: void *, en él se devuelve el puntero al buffer de información.

Cometido: Devolver el puntero al buffer de información del mensaje.

Pseudocódigo:

  1. p1 ReturnInfo()
  2. inicio
  3. devolver info;
  4. fin.

ReturnInfoSize

p1 ReturnInfoSize();

Parámetros:

p1: size_t, indica la talla del buffer de datos.

Cometido: Devolver la talla del buffer de datos.

Pseudocódigo:

  1. p1 ReturnInfoSize()
  2. inicio
  3. devolver lenght;
  4. fin.

SetFunction

SetFunction(p1);

Parámetros:

p1: tFunctionMsg, valor para establecer function.

Cometido: Establecer el valor de function.

Pseudocódigo:

  1. SetFunction(p1)
  2. inicio
  3. function=p1;
  4. fin.

SetAdrDest

SetAdrDest(p1);

Parámetros:

p1: void *, Valor para dirección de destino.

Cometido: Establecer la dirección de destino.

Pseudocódigo:

  1. SetAdrDest(p1)
  2. inicio
  3. AdrDest=p1;
  4. fin.

SetInfo

SetInfo(p1,p2);

Parámetros:

p1: void *, Puntero al buffer de información.

p2: size_t, Tamaño del buffer de información.

Cometido: Establecer los parámetros de los datos a transmitir.

Pseudocódigo:

  1. SetInfo(p1,p2)
  2. inicio
  3. info=p1;
  4. lenght=p2;
  5. fin.

SetMessage

SetMessage(p1,p2,p3,p4);

Parámetros:

p1: void *, dirección de destino.

p2: tFunctionMsg, función del mensaje.

p3: void *, puntero al buffer de información.

p4: size_t, talla del buffer de información.

Cometido: Establecer todos los parámetros del mensaje.

Pseudocódigo:

  1. SetMessage(p1,p2,p3,p4)
  2. inicio
  3. AdrDestin=p1;
  4. function=p2;
  5. info=p3;
  6. lenght=p4;
  7. fin.

~cMessage

~cMessage()

Parámetros: No necesita.

Cometido: Destruir la instancia de cMessage, y el contenido de info.

Pseudocódigo:

  1. ~cMessage()
  2. inicio
  3. liberar info;
  4. fin

 

 


zeusv2@geocities.com

Última actualización de la página: 12/03/99


Esta página está hospedada en   Consigue tu Página Web Gratis