blob: 617d9d5b1b90a2e584763051491ecb34220a323f [file] [log] [blame]
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
// This file automatically generated by:
// Apache Etch 1.1.0-incubating (LOCAL-0) / c 1.1.0-incubating (LOCAL-0)
// Fri Aug 28 15:58:20 CEST 2009
// This file is automatically created and should not be edited!
#include "helloworld_client.h"
#include "etch_objecttypes.h"
#include "etch_general.h"
#include "etch_url.h"
unsigned short CLASSID_HELLOWORLD_CLIENT_BASE;
int destroy_helloworld_client_base(void*);
/* - - - - - - - - - - - - - -
* constructors
* - - - - - - - - - - - - - -
*/
/**
* new_helloworld_client_base()
* @param iservice service interface -- caller retains
*/
i_helloworld_client* new_helloworld_client_base(struct helloworld_client_impl* implobj)
{
i_helloworld_client* ipc = (i_helloworld_client*) new_object (sizeof(i_helloworld_client),
ETCHTYPEB_EXECLIENTBASE, get_dynamic_classid_unique(&CLASSID_HELLOWORLD_CLIENT_BASE));
ipc->thisx = implobj; /* helloworld_client_impl on client, null on server */
((etch_object*)ipc)->destroy = destroy_helloworld_client_base;
ipc->ihelloworld = new_helloworld_service_interface();
ipc->say_hello = ipc->ihelloworld->say_hello;
ipc->user = ipc->ihelloworld->user;
return ipc;
}
/**
* destroy_helloworld_client_base()
* i_helloworld_client destructor.
*/
int destroy_helloworld_client_base (void* data)
{
i_helloworld_client* ipc = (i_helloworld_client*)data;
if (NULL == ipc) return -1;
if (!is_etchobj_static_content(ipc))
{
if (ipc->thisx) /* thisx is null on server (i.e. this is a remote client) */
{ /* destroy the helloworld_client_impl object */
ETCH_ASSERT(is_etch_client_impl((etch_object*)ipc->thisx));
//ETCHOBJ_DESTROY();
if(((etch_object*)ipc->thisx)){
etch_object_destroy(((etch_object*)ipc->thisx));
}
ipc->thisx = NULL;
}
//ETCHOBJ_DESTROY(ipc->ihelloworld);
if(ipc->ihelloworld){
etch_object_destroy(ipc->ihelloworld);
}
ipc->ihelloworld = NULL;
etch_free(ipc->iobjsession);
}
return destroy_objectex((etch_object*)ipc);
}
/* - - - - - - - - - - - - - -
* client base methods
* - - - - - - - - - - - - - -
*/
/* nothing to do - service defines no client-directed items */