Commit bcbb62a4 authored by Ryan Berkheimer's avatar Ryan Berkheimer
Browse files

bump for release

parent eb1093cf
Pipeline #6037 failed with stage
in 0 seconds
......@@ -103,7 +103,7 @@ run-native-tests:
install-k3:
@echo "Installing package to system for current user."
@wget https://k3.cicsnc.org/rberkheimer/messageapi/-/raw/mac-develop/scripts/install/package/install_k3.sh?inline=false --no-check-certificate -O install_k3.sh
@wget https://k3.cicsnc.org/rberkheimer/messageapi/-/raw/master/scripts/install/package/install_k3.sh?inline=false --no-check-certificate -O install_k3.sh
@chmod +x install_k3.sh
@./install_k3.sh "C_CPP"
@rm install_k3.sh
......
......@@ -2,9 +2,9 @@
## Version
**0.9.10** (Pre-Release)
**1.0.0**
MessageAPI uses [Semantic Versioning 2.0.0](https://semver.org/) as its versioning strategy. The first official version will be released upon the implementation of the C native API and validation of the Java core. Subsequent minor versions will release the Fortran, Python, R, and IDL APIs, and Bash CLI.
MessageAPI uses [Semantic Versioning 2.0.0](https://semver.org/) as its versioning strategy. The first official version was released upon the implementation of the C native API and validation of the Java core. Subsequent minor versions may release the Fortran, Python, R, Perl, and IDL APIs, and Bash CLI, as they are needed.
## API Docs
......
......@@ -21,7 +21,10 @@ This work log is also useful as a supplemental documentation for end users of th
### C API
#### Status - In Resolution
#### Status - Notionally Complete
12/15/2020
At this stage - The native bridge API is complete. Bugs or issues will be worked out and released in minor or patch versions.
07/15/2020
At this stage - the entire API is complete. The general structure is to have importable libs for each interface component (transformation, endpoint, session, condition) and have these libs contain access to every piece of processing logic that users might need. For each lib is associated
......
......@@ -10,8 +10,11 @@ MapUtils::MapUtils(JNIEnv *env, TypeUtils *typeUtils)
/* Default destructor */
MapUtils::~MapUtils()
{
printf("Map utils destructor called.\n");
try
{
printf("Inside map utils destructor free block.\n");
this->freeRefs();
}
catch (const std::exception &e)
{
......@@ -19,6 +22,20 @@ MapUtils::~MapUtils()
}
}
void MapUtils::freeRefs()
{
printf("Inside map utils freeRefs method\n");
while (!this->valueMapVector.empty())
{
struct val_map *val_map_ptr = this->valueMapVector.back();
this->valueMapVector.pop_back();
this->jvm->DeleteLocalRef(val_map_ptr->jmap);
printf("Freeing a pointer inside the map.\n");
free(val_map_ptr);
//delete val_map_ptr;
}
}
void MapUtils::loadGlobalRefs(JNIEnv *env, TypeUtils *typeUtils)
{
this->jvm = env;
......@@ -66,9 +83,11 @@ jmethodID MapUtils::putValueMethod()
struct val_map *MapUtils::createMap()
{
printf("Creating a new map.\n");
jobject jMap = this->jvm->NewObject(this->typeUtils->getMapClass(), this->createMapMethod());
struct val_map *valueMap = (struct val_map *)malloc(sizeof(struct val_map));
valueMap->jmap = jMap;
this->valueMapVector.push_back(valueMap);
return valueMap;
}
......
......@@ -8,6 +8,7 @@
#include <stdlib.h>
#include <iostream>
#include <vector>
#include "JniUtils.h"
#include "TypeUtils.h"
......@@ -71,6 +72,7 @@ private:
JNIEnv *jvm;
TypeUtils *typeUtils;
ListUtils *listUtils;
std::vector<struct val_map*> valueMapVector;
jmethodID createMapMethodId;
jmethodID getSizeMethodId;
......@@ -82,6 +84,9 @@ private:
void loadGlobalRefs(JNIEnv *env, TypeUtils *TypeUtils);
void loadMethodIds();
/* Destructor Methods*/
void freeRefs();
};
extern "C"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment