cniCreateNodeContext

Cria qualquer contexto para uma instância de um objeto de nó. É chamada pelo intermediário de mensagens sempre que uma instância de um objeto de nó é construída. Os nós são construídos quando um fluxo de mensagens é implementado pelo intermediário ou quando o grupo de execução é iniciado.

As responsabilidades do nó neste ponto são de:
  1. (Opcionalmente) verificar se o nome do nó especificado no parâmetro nodeName é suportado pela fábrica.
  2. Alocar quaisquer áreas de dados específicas da instância do nó que possam ser necessárias (por exemplo: contexto, dados de atributos e terminais).
  3. Executar qualquer aquisição ou inicialização de recursos adicionais que possam ser necessárias para o processamento do nó.
  4. Retornar o endereço do contexto para a função responsável pela chamada. Sempre que uma função de implementação para esta instância do nó for chamada, o contexto apropriado será passado como um argumento para essa função. Isso significa que um nó definido pelo usuário, desenvolvido em C não precisa manter seus próprios ponteiros estáticos para áreas de dados por instância.
Definido em Type Membro
CNI_VFT Obrigatório iFpCreateNodeContext

Sintaxe

CciContext* cniCreateNodeContext(
    CciFactory* factoryObject,
    CciChar*    nodeName,
    CciNode*    nodeObject);

Parâmetros

factoryObject
O endereço do objeto factory ao qual pertence o nó que está sendo criado (entrada).
nodeName
O nome do nó que está sendo criado (entrada).
nodeObject
O endereço do objeto de nó que acabou de ser criado (entrada).

Valores de Retorno

Se for bem-sucedido, o endereço do contexto do nó é retornado. Caso contrário, um valor de zero (CCI_NULL_ADDR) é retornado.

Exemplo

    static char* functionName = (char *)"_Switch_createNodeContext()";
    NODE_CONTEXT_ST* p;

    /* Alocar um ponteiro para o contexto local */
      p = (NODE_CONTEXT_ST *)malloc(sizeof(NODE_CONTEXT_ST));

  if (p) {

        /* Limpar a área do contexto */
         memset(p, 0, sizeof(NODE_CONTEXT_ST));

        /* Salvar o ponteiro do nosso objeto de nó em nosso contexto */
    p->nodeObject = nodeObject;

        /* Salvar o nome de nosso nó */
    CciCharNCpy((CciChar*) &p->nodeName, nodeName,
MAX_NODE_NAME_LEN);
}
      else
	 /* Identificar erros */
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
as07430_