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 */
Notices | Trademarks | Downloads | Library | Support | Feedback
Copyright IBM Corporation 1999, 2006 Last updated: 5월 25, 2006
as07430_