Files @ abcf8952747b
Branch filter:

Location: DistRen/src/client/libdistren.c - annotation

ethanzonca
Copyright and general documentation/todo updates
/*
  Copyright 2010 Nathan Phillip Brink, Ethan Zonca, Matt Orlando

  This file is a part of DistRen.

  DistRen is free software: you can redistribute it and/or modify
  it under the terms of the GNU Affero General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  DistRen is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with DistRen.  If not, see <http://www.gnu.org/licenses/>.
*/

/*
  Implementation of distren_* functions from distren.h excluding distren_job_* functions.
 */

#include "libdistren.h"

#include <malloc.h>
#include <stdio.h>

/**
   @todo needs to read configuration in
 */
int distren_init_mf(distren_t *handle, distren_malloc_t mymalloc, distren_free_t myfree)
{
  if(!handle
     || !mymalloc
     || !myfree)
    {
      fprintf(stderr, "distren_init_mf passed NULL pointers\n");
      return 1;
    }

  *handle = (*mymalloc)(sizeof(struct distren));
  if(!*handle)
    return 1;

  (*handle)->malloc = mymalloc;
  (*handle)->free = myfree;

  /* now the environment is ready for general use */
  if(_distren_getoptions(*handle))
    {
      fprintf(stderr, "error getting configuration\n");
      distren_free(*handle);
      return 1;
    }
  
  /**
     @todo open a connection to the server now and return error if we can't
     connect. 
   */
  
  return 0;
}

int distren_init(distren_t *handle)
{
  return distren_init_mf(handle, &malloc, &free);
}

/**
   @todo Stub
 */
int distren_submit_file(distren_t handle, distren_job_t *job, const char *filename)
{
  return 1;
}

/**

 */
int distren_free(distren_t handle)
{
  _free(handle, handle);
  return 0;
}