diff options
Diffstat (limited to 'source/blender/src/cre/license_key.c')
-rw-r--r-- | source/blender/src/cre/license_key.c | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/source/blender/src/cre/license_key.c b/source/blender/src/cre/license_key.c new file mode 100644 index 00000000000..a74c74e64f2 --- /dev/null +++ b/source/blender/src/cre/license_key.c @@ -0,0 +1,195 @@ +/** + * $Id$ + * + * ***** BEGIN GPL/BL DUAL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. The Blender + * Foundation also sells licenses for use in proprietary software under + * the Blender License. See http://www.blender.org/BL/ for information + * about this. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL/BL DUAL LICENSE BLOCK ***** + */ + +#include "license_key.h" +#include "keyed_functions.h" +#include "BKE_utildefines.h" +#include "BIF_screen.h" // splash +#include "BIF_toolbox.h" +#include "blenkey.h" +#include <stdio.h> +#include <string.h> +#include "BLO_readfile.h" +#include "BLO_keyStore.h" + +int LICENSE_KEY_VALID = FALSE; +int I_AM_PUBLISHER = FALSE; + +static UserStruct User; + +// Python stuff + +#include "Python.h" +#include "marshal.h" +#include "compile.h" /* to give us PyCodeObject */ +#include "eval.h" /* prototype for PyEval_EvalCode */ + + +Fptr g_functab[PYKEY_TABLEN]; +Fptr g_ptrtab[PYKEY_TABLEN]; + +static int g_seed[3] = PYKEY_SEED; +static PyObject *g_module_self; +static PyObject *g_main; + + +// end Python stuff + +// **************** PYTHON STUFF ************************** +/* ----------------------------------------------------- */ +/* this is the dummy functions to demonstrate */ + +int sticky_shoes(void *vp) +{ +#ifndef NDEBUG + printf("feature not enabled: Buy our Key NOW!\n"); +#endif + return 0; +} + +/* +int key_func1(void *vp) { + printf("function 1 called\n"); +} + +*/ +int key_return_true(void *vp) { +#ifndef NDEBUG + printf("function 2 called (return true)\n"); +#endif + return 1; +} + +/* ----------------------------------------------------- */ + +/* Declarations for objects of type Fplist */ + + +#ifndef NDEBUG +void feature1(void) +{ + Fptr f; + + printf("feature 2 called\n"); + f = g_ptrtab[KEY_FUNC2]; + if (f) f(0); +} + +void feature2(void) +{ + Fptr f; + + printf("feature 3 called\n"); + f = g_ptrtab[KEY_FUNC3]; + if (f) f(0); +} + +#endif + + +/* Initialization function for the module (*must* be called initprot) */ + +static void init_ftable(void) // initializes functiontable +{ + int i; + + g_functab[0] = &key_func1; + g_functab[1] = &key_func2; + g_functab[2] = &key_func3; + + for (i = 3; i < PYKEY_TABLEN; i++) + { + g_functab[i] = &sticky_shoes; + } + + // for debugging perposes + /* + for (i = 0; i < PYKEY_TABLEN; i++) + { + g_functab[i] = (Fptr *) (i + 100); + } + */ +} + + +static void init_ptable(void) // initializes functiontable +{ + int i; + + for (i = 0; i < PYKEY_TABLEN; i++) + { + g_ptrtab[i] = &sticky_shoes; + } +} + + +#ifdef NDEBUG +static void print_ptable(void) +{ + int i; + + for (i = 0; i < PYKEY_TABLEN; i++) + { + printf ("index[%02d] = %08x\n", i, g_ptrtab[i]); + } +} +#endif + +static void insertname(PyObject *m,PyObject *p, char *name) +{ +} + +/* initialisation */ +static void initprot() +{ + init_ftable(); // malloc + init_ptable(); // malloc +} + +// ******************************* KEY STUFF ********************* + +void create_key_name(char * keyname) +{ +} + +void checkhome() +{ + initprot(); // initialize module and function tables +} + +void SHOW_LICENSE_KEY(void) +{ +} + +void loadKeyboard(char * name) +{ +} |