You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2015/09/22 08:39:59 UTC

[13/28] ignite git commit: IGNITE-1513: Moved CPP.

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/os/linux/src/concurrent_os.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/os/linux/src/concurrent_os.cpp b/modules/platform/src/main/cpp/common/os/linux/src/concurrent_os.cpp
deleted file mode 100644
index 44f0b22..0000000
--- a/modules/platform/src/main/cpp/common/os/linux/src/concurrent_os.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * 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.
- */
-
-#include "ignite/common/concurrent_os.h"
-
-namespace ignite
-{
-    namespace common
-    {
-        namespace concurrent
-        {
-            /** Key indicating that the thread is attached. */
-            static pthread_key_t tlsKey;
-
-            /** Helper to ensure that attach key is allocated only once. */
-            static pthread_once_t tlsKeyInit = PTHREAD_ONCE_INIT;
-            
-            /**
-             * Routine to destroy TLS key.
-             * 
-             * @param key Key.
-             */
-            void DestroyTlsKey(void* key) {
-                ThreadLocal::Clear0(key);
-            }
-            
-            /**
-             * Routine to allocate TLS key.
-             */
-            void AllocateTlsKey() {
-                pthread_key_create(&tlsKey, DestroyTlsKey);
-            }
-            
-            void Memory::Fence() {
-                __asm__ volatile ("" ::: "memory");
-            }
-
-            CriticalSection::CriticalSection() {
-                pthread_mutex_init(&mux, NULL);
-                
-                Memory::Fence();
-            }
-
-            CriticalSection::~CriticalSection() {
-                Memory::Fence();
-                
-                pthread_mutex_destroy(&mux);
-            }
-
-            void CriticalSection::Enter() {
-                Memory::Fence();
-                
-                pthread_mutex_lock(&mux);
-            }
-
-            void CriticalSection::Leave() {
-                Memory::Fence();
-                
-                pthread_mutex_unlock(&mux);
-            }
-
-            SingleLatch::SingleLatch()
-            {
-                pthread_mutex_init(&mux, NULL);
-                pthread_cond_init(&cond, NULL);
-                ready = false;
-                
-                Memory::Fence();
-            }
-
-            SingleLatch::~SingleLatch()
-            {
-                Memory::Fence();
-
-                pthread_cond_destroy(&cond);
-                pthread_mutex_destroy(&mux);
-            }
-
-            void SingleLatch::CountDown()
-            {
-                pthread_mutex_lock(&mux);
-                
-                if (!ready) {
-                    ready = true;
-                    
-                    pthread_cond_broadcast(&cond);
-                }
-                
-                pthread_mutex_unlock(&mux);
-                
-                Memory::Fence();
-            }
-
-            void SingleLatch::Await()
-            {
-                pthread_mutex_lock(&mux);
-                
-                while (!ready)
-                    pthread_cond_wait(&cond, &mux);
-                
-                pthread_mutex_unlock(&mux);
-                
-                Memory::Fence();
-            }
-
-            bool Atomics::CompareAndSet32(int32_t* ptr, int32_t expVal, int32_t newVal)
-            {
-                return __sync_bool_compare_and_swap(ptr, expVal, newVal);
-            }
-
-            int32_t Atomics::CompareAndSet32Val(int32_t* ptr, int32_t expVal, int32_t newVal)
-            {
-                return __sync_val_compare_and_swap(ptr, expVal, newVal);
-            }
-
-            int32_t Atomics::IncrementAndGet32(int32_t* ptr)
-            {
-               return __sync_fetch_and_add(ptr, 1) + 1;
-            }
-
-            int32_t Atomics::DecrementAndGet32(int32_t* ptr)
-            {
-               return __sync_fetch_and_sub(ptr, 1) - 1;
-            }
-
-            bool Atomics::CompareAndSet64(int64_t* ptr, int64_t expVal, int64_t newVal)
-            {
-               return __sync_bool_compare_and_swap(ptr, expVal, newVal);
-            }
-
-            int64_t Atomics::CompareAndSet64Val(int64_t* ptr, int64_t expVal, int64_t newVal)
-            {
-               return __sync_val_compare_and_swap(ptr, expVal, newVal);
-            }
-
-            int64_t Atomics::IncrementAndGet64(int64_t* ptr)
-            {
-               return __sync_fetch_and_add(ptr, 1) + 1;
-            }
-
-            int64_t Atomics::DecrementAndGet64(int64_t* ptr)
-            {
-               return __sync_fetch_and_sub(ptr, 1) - 1;
-            }
-
-            void* ThreadLocal::Get0()
-            {
-                pthread_once(&tlsKeyInit, AllocateTlsKey);
-                                
-                return pthread_getspecific(tlsKey);
-            }
-
-            void ThreadLocal::Set0(void* ptr)
-            {
-                pthread_once(&tlsKeyInit, AllocateTlsKey);
-                
-                pthread_setspecific(tlsKey, ptr);
-            }
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/os/win/include/ignite/common/common.h
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/os/win/include/ignite/common/common.h b/modules/platform/src/main/cpp/common/os/win/include/ignite/common/common.h
deleted file mode 100644
index 9e57bde..0000000
--- a/modules/platform/src/main/cpp/common/os/win/include/ignite/common/common.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.
- */
-#ifndef _IGNITE_COMMON_COMMON
-#define _IGNITE_COMMON_COMMON
-
-#define IGNITE_EXPORT __declspec(dllexport)
-#define IGNITE_IMPORT __declspec(dllimport)
-#define IGNITE_CALL __stdcall
-
-#define IGNITE_IMPORT_EXPORT IGNITE_EXPORT
-
-#include <iostream>
-
-#define IGNITE_TRACE_ALLOC(addr) \
-    std::cout << "ALLOC " << __FILE__ << "(" << __LINE__ << "): 0x" << (void*)addr << std::endl;
-
-/**
- * Common construction to disable copy constructor and assignment for class.
- */
-#define IGNITE_NO_COPY_ASSIGNMENT(cls) \
-    cls(const cls& src); \
-    cls& operator= (const cls& other); 
-
-namespace ignite
-{
-    namespace common
-    {
-        /**
-         * Helper class to manage attached threads.
-         */
-        class AttachHelper 
-        {
-        public:                       
-            /**
-             * Callback invoked on successful thread attach ot JVM.
-             */
-            static void OnThreadAttach();
-        };   
-    }
-}
-
-#endif
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/os/win/include/ignite/common/concurrent_os.h
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/os/win/include/ignite/common/concurrent_os.h b/modules/platform/src/main/cpp/common/os/win/include/ignite/common/concurrent_os.h
deleted file mode 100644
index 0a47beb..0000000
--- a/modules/platform/src/main/cpp/common/os/win/include/ignite/common/concurrent_os.h
+++ /dev/null
@@ -1,406 +0,0 @@
-/*
- * 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.
- */
-
-#ifndef _IGNITE_COMMON_CONCURRENT_OS
-#define _IGNITE_COMMON_CONCURRENT_OS
-
-#include <map>
-#include <stdint.h>
-#include <windows.h>
-
-#include "ignite/common/common.h"
-
-namespace ignite
-{
-    namespace common 
-    {
-        namespace concurrent 
-        {
-            /**
-             * Static class to manage memory visibility semantics. 
-             */
-            class IGNITE_IMPORT_EXPORT Memory {
-            public:
-                /**
-                 * Full fence. 
-                 */
-                static void Fence();
-            };
-
-            /**
-             * Critical section.
-             */
-            class IGNITE_IMPORT_EXPORT CriticalSection {
-            public:
-                /**
-                 * Constructor.
-                 */
-                CriticalSection();
-
-                /**
-                 * Destructor. 
-                 */
-                ~CriticalSection();
-
-                /**
-                 * Enter critical section.
-                 */
-                void Enter();
-
-                /**
-                 * Leave critical section.
-                 */
-                void Leave();
-            private:
-                /** Handle. */
-                CRITICAL_SECTION* hnd;
-
-                IGNITE_NO_COPY_ASSIGNMENT(CriticalSection)
-            };
-
-            /**
-             * Special latch with count = 1.
-             */
-            class IGNITE_IMPORT_EXPORT SingleLatch
-            {                
-            public:
-                /**
-                 * Constructor.
-                 */
-                SingleLatch();
-
-                /**
-                 * Destructor.
-                 */
-                ~SingleLatch();
-
-                /**
-                 * Perform the countdown.
-                 */
-                void CountDown();
-
-                /**
-                 * Await the countdown.
-                 */
-                void Await();
-            private:
-                /** Handle. */
-                void* hnd;
-
-                IGNITE_NO_COPY_ASSIGNMENT(SingleLatch)
-            };
-
-            /**
-             * Primitives for atomic access.
-             */
-            class IGNITE_IMPORT_EXPORT Atomics
-            {
-            public:
-                /**
-                 * Update the 32-bit integer value if it is equal to expected value.
-                 *
-                 * @param ptr Pointer.
-                 * @param expVal Expected value.
-                 * @param newVal New value.
-                 * @return True if update occurred as a result of this call, false otherwise.
-                 */
-                static bool CompareAndSet32(int32_t* ptr, int32_t expVal, int32_t newVal);
-
-                /**
-                 * Update the 32-bit integer value if it is equal to expected value.
-                 *
-                 * @param ptr Pointer.
-                 * @param expVal Expected value.
-                 * @param newVal New value.
-                 * @return Value which were observed during CAS attempt.
-                 */
-                static int32_t CompareAndSet32Val(int32_t* ptr, int32_t expVal, int32_t newVal);
-                
-                /**
-                 * Increment 32-bit integer and return new value.
-                 *
-                 * @param ptr Pointer.
-                 * @return Value after increment.
-                 */
-                static int32_t IncrementAndGet32(int32_t* ptr);
-
-                /**
-                 * Decrement 32-bit integer and return new value.
-                 *
-                 * @param ptr Pointer.
-                 * @return Value after decrement.
-                 */
-                static int32_t DecrementAndGet32(int32_t* ptr);
-
-                /**
-                 * Update the 64-bit integer value if it is equal to expected value.
-                 *
-                 * @param ptr Pointer.
-                 * @param expVal Expected value.
-                 * @param newVal New value.
-                 * @return True if update occurred as a result of this call, false otherwise.
-                 */
-                static bool CompareAndSet64(int64_t* ptr, int64_t expVal, int64_t newVal);
-
-                /**
-                 * Update the 64-bit integer value if it is equal to expected value.
-                 *
-                 * @param ptr Pointer.
-                 * @param expVal Expected value.
-                 * @param newVal New value.
-                 * @return Value which were observed during CAS attempt.
-                 */
-                static int64_t CompareAndSet64Val(int64_t* ptr, int64_t expVal, int64_t newVal);
-                
-                /**
-                 * Increment 64-bit integer and return new value.
-                 *
-                 * @param ptr Pointer.
-                 * @return Value after increment.
-                 */
-                static int64_t IncrementAndGet64(int64_t* ptr);
-
-                /**
-                 * Decrement 64-bit integer and return new value.
-                 *
-                 * @param ptr Pointer.
-                 * @return Value after decrement.
-                 */
-                static int64_t DecrementAndGet64(int64_t* ptr);
-            };
-
-            /**
-             * Thread-local entry.
-             */
-            class IGNITE_IMPORT_EXPORT ThreadLocalEntry
-            {
-            public:
-                /**
-                 * Virtual destructor to allow for correct typed entries cleanup.
-                 */
-                virtual ~ThreadLocalEntry()
-                {
-                    // No-op.
-                }
-            };
-
-            /**
-             * Typed thread-local entry.
-             */
-            template<typename T>
-            class IGNITE_IMPORT_EXPORT ThreadLocalTypedEntry : public ThreadLocalEntry
-            {
-            public:
-                /**
-                 * Constructor.
-                 *
-                 * @param val Value.
-                 */
-                ThreadLocalTypedEntry(T val) : val(val)
-                {
-                    // No-op.
-                }
-                
-                ~ThreadLocalTypedEntry()
-                {
-                    // No-op.
-                }
-
-                /**
-                 * Get value.
-                 *
-                 * @return Value.
-                 */
-                T Get()
-                {
-                    return val;
-                }
-            private:
-                /** Value. */
-                T val; 
-            };
-
-            /**
-             * Thread-local abstraction.
-             */
-            class IGNITE_IMPORT_EXPORT ThreadLocal
-            {
-            public:
-                /**
-                 * Allocate thread-local index. Invoked once on DLL process attach.
-                 *
-                 * @return True if allocation was successful.
-                 */
-                static bool OnProcessAttach();
-
-                /**
-                 * Release thread-local entry. Invoked on DLL thread detach.
-                 */
-                static void OnThreadDetach();
-
-                /**
-                 * Release thread-local index. Invoked once on DLL process detach.
-                 */
-                static void OnProcessDetach();
-
-                /**
-                 * Get next available index to be used in thread-local storage.
-                 *
-                 * @return Index.
-                 */
-                static int32_t NextIndex();
-
-                /**
-                 * Get value by index.
-                 *
-                 * @param idx Index.
-                 * @return Value associated with the index or NULL.
-                 */
-                template<typename T>
-                static T Get(int32_t idx)
-                {
-                    void* winVal = Get0();
-
-                    if (winVal)
-                    {
-                        std::map<int32_t, ThreadLocalEntry*>* map = 
-                            static_cast<std::map<int32_t, ThreadLocalEntry*>*>(winVal);
-
-                        ThreadLocalTypedEntry<T>* entry = static_cast<ThreadLocalTypedEntry<T>*>((*map)[idx]);
-                        
-                        if (entry)
-                            return entry->Get();
-                    }
-
-                    return T();
-                }
-
-                /**
-                 * Set value at the given index.
-                 *
-                 * @param idx Index.
-                 * @param val Value to be associated with the index.
-                 */
-                template<typename T>
-                static void Set(int32_t idx, const T& val)
-                {
-                    void* winVal = Get0();
-
-                    if (winVal)
-                    {
-                        std::map<int32_t, ThreadLocalEntry*>* map = 
-                            static_cast<std::map<int32_t, ThreadLocalEntry*>*>(winVal);
-
-                        ThreadLocalEntry* appVal = (*map)[idx];
-
-                        if (appVal)
-                            delete appVal;
-
-                        (*map)[idx] = new ThreadLocalTypedEntry<T>(val);
-                    }
-                    else
-                    {
-                        std::map<int32_t, ThreadLocalEntry*>* map = new std::map<int32_t, ThreadLocalEntry*>();
-
-                        Set0(map);
-
-                        (*map)[idx] = new ThreadLocalTypedEntry<T>(val);
-                    }
-                }
-
-                /**
-                 * Remove value at the given index.
-                 *
-                 * @param idx Index.
-                 */
-                static void Remove(int32_t idx);
-
-            private:
-                /**
-                 * Internal get routine.
-                 *
-                 * @param Associated value.
-                 */
-                static void* Get0();
-
-                /**
-                 * Internal set routine.
-                 *
-                 * @param ptr Pointer.
-                 */
-                static void Set0(void* ptr);
-
-                /**
-                 * Internal thread-local map clear routine.
-                 *
-                 * @param mapPtr Pointer to map.
-                 */
-                static void Clear0(void* mapPtr);
-            };
-
-            /**
-             * Thread-local instance. Simplifies API avoiding direct index allocations.
-             */
-            template<typename T>
-            class IGNITE_IMPORT_EXPORT ThreadLocalInstance
-            {
-            public:
-                /**
-                 * Constructor.
-                 */
-                ThreadLocalInstance() : idx(ThreadLocal::NextIndex())
-                {
-                    // No-op.
-                }
-
-                /**
-                 * Get value.
-                 *
-                 * @return Value.
-                 */
-                T Get()
-                {
-                    return ThreadLocal::Get<T>(idx);
-                }
-
-                /**
-                 * Set instance.
-                 *
-                 * @param val Value.
-                 */
-                void Set(const T& val)
-                {
-                    ThreadLocal::Set<T>(idx, val);
-                }
-
-                /**
-                 * Remove instance.
-                 */
-                void Remove()
-                {
-                    ThreadLocal::Remove(idx);
-                }
-
-            private:
-                /** Index. */
-                int32_t idx; 
-            };
-        }
-    }
-}
-
-#endif
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/os/win/src/common.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/os/win/src/common.cpp b/modules/platform/src/main/cpp/common/os/win/src/common.cpp
deleted file mode 100644
index e83e736..0000000
--- a/modules/platform/src/main/cpp/common/os/win/src/common.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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.
- */
-
-#include <windows.h>
-
-#include "ignite/common/common.h"
-#include "ignite/common/concurrent.h"
-#include "ignite/common/java.h"
-
-using namespace ignite::common::concurrent;
-using namespace ignite::common::java;
-
-namespace ignite
-{
-    namespace common
-    {
-        void AttachHelper::OnThreadAttach()
-        {
-            // No-op.
-        }
-    }
-}
-
-BOOL WINAPI DllMain(_In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved)
-{
-    switch (fdwReason)
-    {
-        case DLL_PROCESS_ATTACH:
-            if (!ThreadLocal::OnProcessAttach())
-                return FALSE;
-
-            break;
-
-        case DLL_THREAD_DETACH:
-            ThreadLocal::OnThreadDetach();
-
-            JniContext::Detach();
-
-            break;
-
-        case DLL_PROCESS_DETACH:
-            ThreadLocal::OnProcessDetach();
-
-            break;
-
-        default:
-            break;
-    }
-
-    return TRUE;
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/os/win/src/concurrent_os.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/os/win/src/concurrent_os.cpp b/modules/platform/src/main/cpp/common/os/win/src/concurrent_os.cpp
deleted file mode 100644
index a21f7ec..0000000
--- a/modules/platform/src/main/cpp/common/os/win/src/concurrent_os.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * 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.
- */
-
-#include "ignite/common/concurrent_os.h"
-
-namespace ignite
-{
-    namespace common
-    {
-        namespace concurrent
-        {
-            /** Thread-local index for Windows. */
-            DWORD winTlsIdx;
-
-            void Memory::Fence() {
-                MemoryBarrier();
-            }
-
-            CriticalSection::CriticalSection() : hnd(new CRITICAL_SECTION) {
-                InitializeCriticalSection(hnd);
-
-                Memory::Fence();
-            }
-
-            CriticalSection::~CriticalSection() {
-                Memory::Fence();
-
-                delete hnd;
-            }
-
-            void CriticalSection::Enter() {
-                Memory::Fence();
-
-                EnterCriticalSection(hnd);
-            }
-
-            void CriticalSection::Leave() {
-                Memory::Fence();
-
-                LeaveCriticalSection(hnd);
-            }
-
-            SingleLatch::SingleLatch() : hnd(CreateEvent(NULL, TRUE, FALSE, NULL))
-            {
-                Memory::Fence();
-            }
-
-            SingleLatch::~SingleLatch()
-            {
-                Memory::Fence();
-
-                CloseHandle(hnd);
-            }
-
-            void SingleLatch::CountDown()
-            {
-                SetEvent(hnd);
-            }
-
-            void SingleLatch::Await()
-            {
-                WaitForSingleObject(hnd, INFINITE);
-            }
-
-            bool Atomics::CompareAndSet32(int32_t* ptr, int32_t expVal, int32_t newVal)
-            {
-                return CompareAndSet32Val(ptr, expVal, newVal) == expVal;
-            }
-
-            int32_t Atomics::CompareAndSet32Val(int32_t* ptr, int32_t expVal, int32_t newVal)
-            {
-                return InterlockedCompareExchange(reinterpret_cast<LONG*>(ptr), newVal, expVal);
-            }
-
-            int32_t Atomics::IncrementAndGet32(int32_t* ptr)
-            {
-                return InterlockedIncrement(reinterpret_cast<LONG*>(ptr));
-            }
-
-            int32_t Atomics::DecrementAndGet32(int32_t* ptr)
-            {
-                return InterlockedDecrement(reinterpret_cast<LONG*>(ptr));
-            }
-
-            bool Atomics::CompareAndSet64(int64_t* ptr, int64_t expVal, int64_t newVal)
-            {
-                return CompareAndSet64Val(ptr, expVal, newVal) == expVal;
-            }
-
-            int64_t Atomics::CompareAndSet64Val(int64_t* ptr, int64_t expVal, int64_t newVal)
-            {
-                return InterlockedCompareExchange64(reinterpret_cast<LONG64*>(ptr), newVal, expVal);
-            }
-
-            int64_t Atomics::IncrementAndGet64(int64_t* ptr)
-            {
-                return InterlockedIncrement64(reinterpret_cast<LONG64*>(ptr));
-            }
-
-            int64_t Atomics::DecrementAndGet64(int64_t* ptr)
-            {
-                return InterlockedDecrement64(reinterpret_cast<LONG64*>(ptr));
-            }
-            
-            bool ThreadLocal::OnProcessAttach()
-            {
-                return (winTlsIdx = TlsAlloc()) != TLS_OUT_OF_INDEXES;
-            }
-
-            void ThreadLocal::OnThreadDetach()
-            {
-                if (winTlsIdx != TLS_OUT_OF_INDEXES)
-                {
-                    void* mapPtr = Get0();
-
-                    Clear0(mapPtr);
-                }
-            }
-
-            void ThreadLocal::OnProcessDetach()
-            {
-                if (winTlsIdx != TLS_OUT_OF_INDEXES)
-                    TlsFree(winTlsIdx);
-            }
-
-            void* ThreadLocal::Get0()
-            {
-                return TlsGetValue(winTlsIdx);
-            }
-
-            void ThreadLocal::Set0(void* ptr)
-            {
-                TlsSetValue(winTlsIdx, ptr);
-            }
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/project/README.TXT
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/project/README.TXT b/modules/platform/src/main/cpp/common/project/README.TXT
deleted file mode 100644
index 97f4c64..0000000
--- a/modules/platform/src/main/cpp/common/project/README.TXT
+++ /dev/null
@@ -1 +0,0 @@
-Contains IDE projects artifacts.

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/project/vs/README.TXT
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/project/vs/README.TXT b/modules/platform/src/main/cpp/common/project/vs/README.TXT
deleted file mode 100644
index f4fb456..0000000
--- a/modules/platform/src/main/cpp/common/project/vs/README.TXT
+++ /dev/null
@@ -1 +0,0 @@
-Contains Visual Studio project artifacts.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/project/vs/common.vcxproj
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/project/vs/common.vcxproj b/modules/platform/src/main/cpp/common/project/vs/common.vcxproj
deleted file mode 100644
index b7cfb8a..0000000
--- a/modules/platform/src/main/cpp/common/project/vs/common.vcxproj
+++ /dev/null
@@ -1,202 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Debug|x64">
-      <Configuration>Debug</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|x64">
-      <Configuration>Release</Configuration>
-      <Platform>x64</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{4F7E4917-4612-4B96-9838-025711ADE391}</ProjectGuid>
-    <Keyword>Win32Proj</Keyword>
-    <RootNamespace>common</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v100</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>true</UseDebugLibraries>
-    <PlatformToolset>v100</PlatformToolset>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v100</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseDebugLibraries>false</UseDebugLibraries>
-    <PlatformToolset>v100</PlatformToolset>
-    <WholeProgramOptimization>true</WholeProgramOptimization>
-    <CharacterSet>Unicode</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <LinkIncremental>true</LinkIncremental>
-    <TargetName>ignite.common</TargetName>
-    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <TargetName>ignite.common</TargetName>
-    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>true</LinkIncremental>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <LinkIncremental>false</LinkIncremental>
-    <TargetName>ignite.common</TargetName>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <TargetName>ignite.common</TargetName>
-    <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
-    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-    <LinkIncremental>false</LinkIncremental>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <ClCompile>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Disabled</Optimization>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;IGNITEJVM_EXPORTS;_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <DelayLoadDLLs>jvm.dll</DelayLoadDLLs>
-      <ModuleDefinitionFile>module.def</ModuleDefinitionFile>
-      <OptimizeReferences>false</OptimizeReferences>
-      <EnableCOMDATFolding>false</EnableCOMDATFolding>
-      <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <SDLCheck>false</SDLCheck>
-      <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;IGNITEJVM_EXPORTS;_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OptimizeReferences>true</OptimizeReferences>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <DelayLoadDLLs>jvm.dll</DelayLoadDLLs>
-      <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
-      <ModuleDefinitionFile>module.def</ModuleDefinitionFile>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <PrecompiledHeader>NotUsing</PrecompiledHeader>
-      <Optimization>MaxSpeed</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;IGNITEJVM_EXPORTS;_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
-      <OmitFramePointers>true</OmitFramePointers>
-      <BufferSecurityCheck>false</BufferSecurityCheck>
-      <StringPooling>true</StringPooling>
-    </ClCompile>
-    <Link>
-      <SubSystem>Windows</SubSystem>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <DelayLoadDLLs>jvm.dll</DelayLoadDLLs>
-      <ModuleDefinitionFile>module.def</ModuleDefinitionFile>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <ClCompile>
-      <WarningLevel>Level3</WarningLevel>
-      <Optimization>Full</Optimization>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <SDLCheck>false</SDLCheck>
-      <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
-      <OmitFramePointers>true</OmitFramePointers>
-      <StringPooling>true</StringPooling>
-      <BufferSecurityCheck>false</BufferSecurityCheck>
-      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-    </ClCompile>
-    <Link>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-      <OptimizeReferences>true</OptimizeReferences>
-      <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <DelayLoadDLLs>jvm.dll</DelayLoadDLLs>
-      <ModuleDefinitionFile>module.def</ModuleDefinitionFile>
-    </Link>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\include\ignite\common\concurrent.h" />
-    <ClInclude Include="..\..\include\ignite\common\exports.h" />
-    <ClInclude Include="..\..\include\ignite\common\java.h" />
-    <ClInclude Include="..\..\os\win\include\ignite\common\common.h" />
-    <ClInclude Include="..\..\os\win\include\ignite\common\concurrent_os.h" />
-    <ClInclude Include="targetver.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\os\win\src\common.cpp" />
-    <ClCompile Include="..\..\os\win\src\concurrent_os.cpp" />
-    <ClCompile Include="..\..\src\concurrent.cpp" />
-    <ClCompile Include="..\..\src\exports.cpp" />
-    <ClCompile Include="..\..\src\java.cpp" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-  <ItemGroup>
-    <None Include="module.def" />
-  </ItemGroup>
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/project/vs/common.vcxproj.filters
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/project/vs/common.vcxproj.filters b/modules/platform/src/main/cpp/common/project/vs/common.vcxproj.filters
deleted file mode 100644
index 3d4ae54..0000000
--- a/modules/platform/src/main/cpp/common/project/vs/common.vcxproj.filters
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Misc">
-      <UniqueIdentifier>{1dbec2be-5cb4-4f70-aef6-b4627d39b99b}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Code">
-      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
-      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="..\..\os\win\include\ignite\common\common.h">
-      <Filter>Code</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\os\win\include\ignite\common\concurrent_os.h">
-      <Filter>Code</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\ignite\common\exports.h">
-      <Filter>Code</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\ignite\common\java.h">
-      <Filter>Code</Filter>
-    </ClInclude>
-    <ClInclude Include="..\..\include\ignite\common\concurrent.h">
-      <Filter>Code</Filter>
-    </ClInclude>
-    <ClInclude Include="targetver.h">
-      <Filter>Misc</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="..\..\os\win\src\common.cpp">
-      <Filter>Code</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\src\concurrent.cpp">
-      <Filter>Code</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\os\win\src\concurrent_os.cpp">
-      <Filter>Code</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\src\exports.cpp">
-      <Filter>Code</Filter>
-    </ClCompile>
-    <ClCompile Include="..\..\src\java.cpp">
-      <Filter>Code</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="module.def">
-      <Filter>Misc</Filter>
-    </None>
-  </ItemGroup>
-</Project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/project/vs/module.def
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/project/vs/module.def b/modules/platform/src/main/cpp/common/project/vs/module.def
deleted file mode 100644
index d9e8d2b..0000000
--- a/modules/platform/src/main/cpp/common/project/vs/module.def
+++ /dev/null
@@ -1,99 +0,0 @@
-LIBRARY ignite.common.dll
-EXPORTS
-IgniteReallocate @1 
-IgniteIgnitionStart @2 
-IgniteIgnitionInstance @3 
-IgniteIgnitionEnvironmentPointer @4 
-IgniteIgnitionStop @5 
-IgniteIgnitionStopAll @6 
-IgniteTargetOutLong @7
-IgniteProcessorReleaseStart @8 
-IgniteProcessorProjection @9 
-IgniteProcessorCache @10 
-IgniteProcessorCreateCache @11 
-IgniteProcessorGetOrCreateCache @12 
-IgniteProcessorAffinity @13 
-IgniteProcessorDataStreamer @14 
-IgniteProcessorTransactions @15 
-IgniteProcessorServices @16
-IgniteTargetInStreamOutObject @17 
-IgniteTargetInStreamOutLong @18 
-IgniteTargetOutStream @19 
-IgniteTargetInStreamOutStream @20 
-IgniteTargetInObjectStreamOutStream @21 
-IgniteTargetListenFuture @22 
-IgniteTargetListenFutureForOperation @23 
-IgniteAffinityPartitions @24 
-IgniteCacheWithSkipStore @25 
-IgniteCacheWithNoRetries @26 
-IgniteCacheWithExpiryPolicy @27 
-IgniteCacheWithAsync @28 
-IgniteCacheWithKeepPortable @29 
-IgniteCacheClear @30 
-IgniteCacheRemoveAll @31 
-IgniteCacheOutOpQueryCursor @32 
-IgniteCacheOutOpContinuousQuery @33 
-IgniteCacheIterator @34 
-IgniteCacheLocalIterator @35 
-IgniteCacheEnterLock @36 
-IgniteCacheExitLock @37 
-IgniteCacheTryEnterLock @38 
-IgniteCacheCloseLock @39 
-IgniteCacheRebalance @40 
-IgniteCacheSize @41 
-IgniteCacheStoreCallbackInvoke @42 
-IgniteComputeWithNoFailover @43 
-IgniteComputeWithTimeout @44 
-IgniteComputeExecuteNative @45 
-IgniteContinuousQueryClose @46 
-IgniteContinuousQueryGetInitialQueryCursor @47 
-IgniteDataStreamerListenTopology @48 
-IgniteDataStreamerAllowOverwriteGet @49 
-IgniteDataStreamerAllowOverwriteSet @50 
-IgniteDataStreamerSkipStoreGet @51 
-IgniteDataStreamerSkipStoreSet @52 
-IgniteDataStreamerPerNodeBufferSizeGet @53 
-IgniteDataStreamerPerNodeBufferSizeSet @54 
-IgniteDataStreamerPerNodeParallelOperationsGet @55 
-IgniteDataStreamerPerNodeParallelOperationsSet @56 
-IgniteMessagingWithAsync @57 
-IgniteProjectionForOthers @58 
-IgniteProjectionForRemotes @59 
-IgniteProjectionForDaemons @60 
-IgniteProjectionForRandom @61 
-IgniteProjectionForOldest @62 
-IgniteProjectionForYoungest @63 
-IgniteProcessorCompute @64 
-IgniteProcessorMessage @65 
-IgniteProcessorEvents @66 
-IgniteProjectionResetMetrics @67 
-IgniteProjectionOutOpRet @68 
-IgniteQueryCursorIterator @69 
-IgniteQueryCursorClose @70 
-IgniteTransactionsStart @71 
-IgniteTransactionsCommit @72 
-IgniteTransactionsCommitAsync @73 
-IgniteTransactionsRollback @74 
-IgniteTransactionsRollbackAsync @75 
-IgniteTransactionsClose @76 
-IgniteTransactionsState @77 
-IgniteTransactionsSetRollbackOnly @78 
-IgniteTransactionsResetMetrics @79 
-IgniteAcquire @80 
-IgniteRelease @81 
-IgniteThrowToJava @82 
-IgniteHandlersSize @83 
-IgniteCreateContext @84 
-IgniteDeleteContext @85 
-IgniteDestroyJvm @86 
-IgniteEventsWithAsync @87 
-IgniteEventsStopLocalListen @88 
-IgniteEventsLocalListen @89 
-IgniteEventsIsEnabled @90 
-IgniteTargetOutObject @91 
-IgniteServicesWithAsync @92
-IgniteServicesWithServerKeepPortable @93
-IgniteServicesCancel @94
-IgniteServicesCancelAll @95
-IgniteServicesGetServiceProxy @96
-IgniteProcessorExtensions @97
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/project/vs/targetver.h
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/project/vs/targetver.h b/modules/platform/src/main/cpp/common/project/vs/targetver.h
deleted file mode 100644
index 4bea158..0000000
--- a/modules/platform/src/main/cpp/common/project/vs/targetver.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * 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.
- */
-
-#pragma once
-
-// Including SDKDDKVer.h defines the highest available Windows platform.
-
-// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
-// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
-
-#include <SDKDDKVer.h>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/src/concurrent.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/src/concurrent.cpp b/modules/platform/src/main/cpp/common/src/concurrent.cpp
deleted file mode 100644
index 3f85b65..0000000
--- a/modules/platform/src/main/cpp/common/src/concurrent.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * 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.
- */
-
-#include "ignite/common/concurrent.h"
-
-namespace ignite
-{
-    namespace common
-    {
-        namespace concurrent
-        {
-            /** Thread-local index generator for application. */
-            int32_t appTlsIdxGen = 0;
-
-            int32_t ThreadLocal::NextIndex()
-            {
-                return Atomics::IncrementAndGet32(&appTlsIdxGen);
-            }
-
-            void ThreadLocal::Remove(int32_t idx)
-            {
-                void* val = Get0();
-
-                if (val)
-                {
-                    std::map<int32_t, ThreadLocalEntry*>* map =
-                        static_cast<std::map<int32_t, ThreadLocalEntry*>*>(val);
-
-                    ThreadLocalEntry* appVal = (*map)[idx];
-
-                    if (appVal)
-                        delete appVal;
-
-                    map->erase(idx);
-
-                    if (map->size() == 0)
-                    {
-                        delete map;
-
-                        Set0(NULL);
-                    }
-                }
-            }
-
-            void ThreadLocal::Clear0(void* mapPtr)
-            {
-                if (mapPtr)
-                {
-                    std::map<int32_t, ThreadLocalEntry*>* map =
-                        static_cast<std::map<int32_t, ThreadLocalEntry*>*>(mapPtr);
-
-                    for (std::map<int32_t, ThreadLocalEntry*>::iterator it = map->begin(); it != map->end(); ++it)
-                        delete it->second;
-
-                    delete map;
-                }
-            }
-
-            SharedPointerImpl::SharedPointerImpl(void* ptr) : ptr(ptr), refCnt(1)
-            {
-                Memory::Fence();
-            }
-
-            void* SharedPointerImpl::Pointer()
-            {
-                return ptr;
-            }
-
-            void SharedPointerImpl::Increment()
-            {
-                Atomics::IncrementAndGet32(&refCnt);
-            }
-
-            bool SharedPointerImpl::Decrement()
-            {
-                return Atomics::DecrementAndGet32(&refCnt) == 0;
-            }
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ignite/blob/524f5653/modules/platform/src/main/cpp/common/src/exports.cpp
----------------------------------------------------------------------
diff --git a/modules/platform/src/main/cpp/common/src/exports.cpp b/modules/platform/src/main/cpp/common/src/exports.cpp
deleted file mode 100644
index 2ac3340..0000000
--- a/modules/platform/src/main/cpp/common/src/exports.cpp
+++ /dev/null
@@ -1,413 +0,0 @@
-/*
- * 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.
- */
-
-#include "ignite/common/exports.h"
-#include "ignite/common/java.h"
-
-namespace gcj = ignite::common::java;
-
-/* --- Target methods. --- */
-extern "C" {
-    int IGNITE_CALL IgniteReallocate(long long memPtr, int cap) {
-        return gcj::JniContext::Reallocate(memPtr, cap);
-    }
-
-    void* IGNITE_CALL IgniteIgnitionStart(gcj::JniContext* ctx, char* cfgPath, char* name, int factoryId, long long dataPtr) {
-        return ctx->IgnitionStart(cfgPath, name, factoryId, dataPtr);
-    }
-
-	void* IGNITE_CALL IgniteIgnitionInstance(gcj::JniContext* ctx, char* name) {
-        return ctx->IgnitionInstance(name);
-    }
-
-    long long IGNITE_CALL IgniteIgnitionEnvironmentPointer(gcj::JniContext* ctx, char* name) {
-        return ctx->IgnitionEnvironmentPointer(name);
-    }
-
-	bool IGNITE_CALL IgniteIgnitionStop(gcj::JniContext* ctx, char* name, bool cancel) {
-        return ctx->IgnitionStop(name, cancel);
-    }
-
-	void IGNITE_CALL IgniteIgnitionStopAll(gcj::JniContext* ctx, bool cancel) {
-        return ctx->IgnitionStopAll(cancel);
-    }
-
-    void IGNITE_CALL IgniteProcessorReleaseStart(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProcessorReleaseStart(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProcessorProjection(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProcessorProjection(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProcessorCache(gcj::JniContext* ctx, void* obj, char* name) {
-        return ctx->ProcessorCache(static_cast<jobject>(obj), name);
-    }
-
-    void* IGNITE_CALL IgniteProcessorCreateCache(gcj::JniContext* ctx, void* obj, char* name) {
-        return ctx->ProcessorCreateCache(static_cast<jobject>(obj), name);
-    }
-
-    void* IGNITE_CALL IgniteProcessorGetOrCreateCache(gcj::JniContext* ctx, void* obj, char* name) {
-        return ctx->ProcessorGetOrCreateCache(static_cast<jobject>(obj), name);
-    }
-
-    void* IGNITE_CALL IgniteProcessorAffinity(gcj::JniContext* ctx, void* obj, char* name) {
-        return ctx->ProcessorAffinity(static_cast<jobject>(obj), name);
-    }
-
-    void*IGNITE_CALL IgniteProcessorDataStreamer(gcj::JniContext* ctx, void* obj, char* name, bool keepPortable) {
-        return ctx->ProcessorDataStreamer(static_cast<jobject>(obj), name, keepPortable);
-    }
-    
-    void* IGNITE_CALL IgniteProcessorTransactions(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProcessorTransactions(static_cast<jobject>(obj));
-    }
-        
-    void* IGNITE_CALL IgniteProcessorCompute(gcj::JniContext* ctx, void* obj, void* prj) {
-        return ctx->ProcessorCompute(static_cast<jobject>(obj), static_cast<jobject>(prj));
-    }
-
-    void* IGNITE_CALL IgniteProcessorMessage(gcj::JniContext* ctx, void* obj, void* prj) {
-        return ctx->ProcessorMessage(static_cast<jobject>(obj), static_cast<jobject>(prj));
-    }
-
-    void* IGNITE_CALL IgniteProcessorEvents(gcj::JniContext* ctx, void* obj, void* prj) {
-        return ctx->ProcessorEvents(static_cast<jobject>(obj), static_cast<jobject>(prj));
-    }
-
-    void* IGNITE_CALL IgniteProcessorServices(gcj::JniContext* ctx, void* obj, void* prj) {
-        return ctx->ProcessorServices(static_cast<jobject>(obj), static_cast<jobject>(prj));
-    }
-
-    void* IGNITE_CALL IgniteProcessorExtensions(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProcessorExtensions(static_cast<jobject>(obj));
-    }
-
-    long long IGNITE_CALL IgniteTargetInStreamOutLong(gcj::JniContext* ctx, void* obj, int opType, long long memPtr) {
-        return ctx->TargetInStreamOutLong(static_cast<jobject>(obj), opType, memPtr);
-    }
-
-    void IGNITE_CALL IgniteTargetInStreamOutStream(gcj::JniContext* ctx, void* obj, int opType, long long inMemPtr, long long outMemPtr) {
-        ctx->TargetInStreamOutStream(static_cast<jobject>(obj), opType, inMemPtr, outMemPtr);
-    }
-
-    void* IGNITE_CALL IgniteTargetInStreamOutObject(gcj::JniContext* ctx, void* obj, int opType, long long memPtr) {
-        return ctx->TargetInStreamOutObject(static_cast<jobject>(obj), opType, memPtr);
-    }
-
-    void IGNITE_CALL IgniteTargetInObjectStreamOutStream(gcj::JniContext* ctx, void* obj, int opType, void* arg, long long inMemPtr, long long outMemPtr) {
-        ctx->TargetInObjectStreamOutStream(static_cast<jobject>(obj), opType, arg, inMemPtr, outMemPtr);
-    }
-    
-    long long IGNITE_CALL IgniteTargetOutLong(gcj::JniContext* ctx, void* obj, int opType) {
-        return ctx->TargetOutLong(static_cast<jobject>(obj), opType);
-    }
-
-    void IGNITE_CALL IgniteTargetOutStream(gcj::JniContext* ctx, void* obj, int opType, long long memPtr) {
-        ctx->TargetOutStream(static_cast<jobject>(obj), opType, memPtr);
-    }
-
-    void* IGNITE_CALL IgniteTargetOutObject(gcj::JniContext* ctx, void* obj, int opType) {
-        return ctx->TargetOutObject(static_cast<jobject>(obj), opType);
-    }
-
-    void IGNITE_CALL IgniteTargetListenFuture(gcj::JniContext* ctx, void* obj, long long futId, int typ) {
-        ctx->TargetListenFuture(static_cast<jobject>(obj), futId, typ);
-    }
-
-    void IGNITE_CALL IgniteTargetListenFutureForOperation(gcj::JniContext* ctx, void* obj, long long futId, int typ, int opId) {
-        ctx->TargetListenFutureForOperation(static_cast<jobject>(obj), futId, typ, opId);
-    }
-
-    int IGNITE_CALL IgniteAffinityPartitions(gcj::JniContext* ctx, void* obj) {
-        return ctx->AffinityPartitions(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteCacheWithSkipStore(gcj::JniContext* ctx, void* obj) {
-        return ctx->CacheWithSkipStore(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteCacheWithNoRetries(gcj::JniContext* ctx, void* obj) {
-        return ctx->CacheWithNoRetries(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteCacheWithExpiryPolicy(gcj::JniContext* ctx, void* obj, long long create, long long update, long long access) {
-        return ctx->CacheWithExpiryPolicy(static_cast<jobject>(obj), create, update, access);
-    }
-
-    void* IGNITE_CALL IgniteCacheWithAsync(gcj::JniContext* ctx, void* obj) {
-        return ctx->CacheWithAsync(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteCacheWithKeepPortable(gcj::JniContext* ctx, void* obj)
-    {
-        return ctx->CacheWithKeepPortable(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteCacheClear(gcj::JniContext* ctx, void* obj) {
-        ctx->CacheClear(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteCacheRemoveAll(gcj::JniContext* ctx, void* obj) {
-        ctx->CacheRemoveAll(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteCacheOutOpQueryCursor(gcj::JniContext* ctx, void* obj, int type, long long memPtr) {
-        return ctx->CacheOutOpQueryCursor(static_cast<jobject>(obj), type, memPtr);
-    }
-
-    void* IGNITE_CALL IgniteCacheOutOpContinuousQuery(gcj::JniContext* ctx, void* obj, int type, long long memPtr) {
-        return ctx->CacheOutOpContinuousQuery(static_cast<jobject>(obj), type, memPtr);
-    }
-
-    void* IGNITE_CALL IgniteCacheIterator(gcj::JniContext* ctx, void* obj) {
-        return ctx->CacheIterator(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteCacheLocalIterator(gcj::JniContext* ctx, void* obj, int peekModes) {
-        return ctx->CacheLocalIterator(static_cast<jobject>(obj), peekModes);
-    }
-
-    void IGNITE_CALL IgniteCacheEnterLock(gcj::JniContext* ctx, void* obj, long long id) {
-        ctx->CacheEnterLock(static_cast<jobject>(obj), id);
-    }
-
-    void IGNITE_CALL IgniteCacheExitLock(gcj::JniContext* ctx, void* obj, long long id) {
-        ctx->CacheExitLock(static_cast<jobject>(obj), id);
-    }
-
-    bool IGNITE_CALL IgniteCacheTryEnterLock(gcj::JniContext* ctx, void* obj, long long id, long long timeout) {
-        return ctx->CacheTryEnterLock(static_cast<jobject>(obj), id, timeout);
-    }
-
-    void IGNITE_CALL IgniteCacheCloseLock(gcj::JniContext* ctx, void* obj, long long id) {
-        ctx->CacheCloseLock(static_cast<jobject>(obj), id);
-    }
-
-    void IGNITE_CALL IgniteCacheRebalance(gcj::JniContext* ctx, void* obj, long long futId) {
-        ctx->CacheRebalance(static_cast<jobject>(obj), futId);
-    }
-
-    int IGNITE_CALL IgniteCacheSize(gcj::JniContext* ctx, void* obj, int peekModes, bool loc) {
-        return ctx->CacheSize(static_cast<jobject>(obj), peekModes, loc);
-    }
-
-    void IGNITE_CALL IgniteComputeWithNoFailover(gcj::JniContext* ctx, void* obj) {
-        ctx->ComputeWithNoFailover(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteComputeWithTimeout(gcj::JniContext* ctx, void* obj, long long timeout) {
-        ctx->ComputeWithTimeout(static_cast<jobject>(obj), timeout);
-    }
-
-    void IGNITE_CALL IgniteComputeExecuteNative(gcj::JniContext* ctx, void* obj, long long taskPtr, long long topVer) {
-        ctx->ComputeExecuteNative(static_cast<jobject>(obj), taskPtr, topVer);
-    }
-
-    void IGNITE_CALL IgniteContinuousQueryClose(gcj::JniContext* ctx, void* obj) {
-        ctx->ContinuousQueryClose(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteContinuousQueryGetInitialQueryCursor(gcj::JniContext* ctx, void* obj) {
-        return ctx->ContinuousQueryGetInitialQueryCursor(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteCacheStoreCallbackInvoke(gcj::JniContext* ctx, void* obj, long long memPtr) {
-        ctx->CacheStoreCallbackInvoke(static_cast<jobject>(obj), memPtr);
-    }
-
-    void IGNITE_CALL IgniteDataStreamerListenTopology(gcj::JniContext* ctx, void* obj, long long ptr) {
-        ctx->DataStreamerListenTopology(static_cast<jobject>(obj), ptr);
-    }
-
-    bool IGNITE_CALL IgniteDataStreamerAllowOverwriteGet(gcj::JniContext* ctx, void* obj) {
-        return ctx->DataStreamerAllowOverwriteGet(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteDataStreamerAllowOverwriteSet(gcj::JniContext* ctx, void* obj, bool val) {
-        ctx->DataStreamerAllowOverwriteSet(static_cast<jobject>(obj), val);
-    }
-
-    bool IGNITE_CALL IgniteDataStreamerSkipStoreGet(gcj::JniContext* ctx, void* obj) {
-        return ctx->DataStreamerSkipStoreGet(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteDataStreamerSkipStoreSet(gcj::JniContext* ctx, void* obj, bool val) {
-        ctx->DataStreamerSkipStoreSet(static_cast<jobject>(obj), val);
-    }
-
-    int IGNITE_CALL IgniteDataStreamerPerNodeBufferSizeGet(gcj::JniContext* ctx, void* obj) {
-        return ctx->DataStreamerPerNodeBufferSizeGet(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteDataStreamerPerNodeBufferSizeSet(gcj::JniContext* ctx, void* obj, int val) {
-        ctx->DataStreamerPerNodeBufferSizeSet(static_cast<jobject>(obj), val);
-    }
-
-    int IGNITE_CALL IgniteDataStreamerPerNodeParallelOperationsGet(gcj::JniContext* ctx, void* obj) {
-        return ctx->DataStreamerPerNodeParallelOperationsGet(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteDataStreamerPerNodeParallelOperationsSet(gcj::JniContext* ctx, void* obj, int val) {
-        ctx->DataStreamerPerNodeParallelOperationsSet(static_cast<jobject>(obj), val);
-    }
-
-    void* IGNITE_CALL IgniteMessagingWithAsync(gcj::JniContext* ctx, void* obj) {
-        return ctx->MessagingWithAsync(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionForOthers(gcj::JniContext* ctx, void* obj, void* prj) {
-        return ctx->ProjectionForOthers(static_cast<jobject>(obj), static_cast<jobject>(prj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionForRemotes(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProjectionForRemotes(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionForDaemons(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProjectionForDaemons(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionForRandom(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProjectionForRandom(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionForOldest(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProjectionForOldest(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionForYoungest(gcj::JniContext* ctx, void* obj) {
-        return ctx->ProjectionForYoungest(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteProjectionResetMetrics(gcj::JniContext* ctx, void* obj) {
-        ctx->ProjectionResetMetrics(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteProjectionOutOpRet(gcj::JniContext* ctx, void* obj, int type, long long memPtr) {
-        return ctx->ProjectionOutOpRet(static_cast<jobject>(obj), type, memPtr);
-    }
-
-    void IGNITE_CALL IgniteQueryCursorIterator(gcj::JniContext* ctx, void* obj) {
-        ctx->QueryCursorIterator(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteQueryCursorClose(gcj::JniContext* ctx, void* obj) {
-        ctx->QueryCursorClose(static_cast<jobject>(obj));
-    }
-
-    long long IGNITE_CALL IgniteTransactionsStart(gcj::JniContext* ctx, void* obj, int concurrency, int isolation, long long timeout, int txSize) {
-        return ctx->TransactionsStart(static_cast<jobject>(obj), concurrency, isolation, timeout, txSize);
-    }   
-
-    int IGNITE_CALL IgniteTransactionsCommit(gcj::JniContext* ctx, void* obj, long long id) {
-        return ctx->TransactionsCommit(static_cast<jobject>(obj), id);
-    }
-
-    void IGNITE_CALL IgniteTransactionsCommitAsync(gcj::JniContext* ctx, void* obj, long long id, long long futId) {
-        return ctx->TransactionsCommitAsync(static_cast<jobject>(obj), id, futId);
-    }
-
-    int IGNITE_CALL IgniteTransactionsRollback(gcj::JniContext* ctx, void* obj, long long id) {
-        return ctx->TransactionsRollback(static_cast<jobject>(obj), id);
-    }
-
-    void IGNITE_CALL IgniteTransactionsRollbackAsync(gcj::JniContext* ctx, void* obj, long long id, long long futId) {
-        return ctx->TransactionsRollbackAsync(static_cast<jobject>(obj), id, futId);
-    }
-
-    int IGNITE_CALL IgniteTransactionsClose(gcj::JniContext* ctx, void* obj, long long id) {
-        return ctx->TransactionsClose(static_cast<jobject>(obj), id);
-    }
-
-    int IGNITE_CALL IgniteTransactionsState(gcj::JniContext* ctx, void* obj, long long id) {
-        return ctx->TransactionsState(static_cast<jobject>(obj), id);
-    }
-
-    bool IGNITE_CALL IgniteTransactionsSetRollbackOnly(gcj::JniContext* ctx, void* obj, long long id) {
-        return ctx->TransactionsSetRollbackOnly(static_cast<jobject>(obj), id);
-    }
-
-    void IGNITE_CALL IgniteTransactionsResetMetrics(gcj::JniContext* ctx, void* obj) {
-        ctx->TransactionsResetMetrics(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteAcquire(gcj::JniContext* ctx, void* obj) {
-        return ctx->Acquire(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteRelease(void* obj) {
-        gcj::JniContext::Release(static_cast<jobject>(obj));
-    }
-
-    void IGNITE_CALL IgniteThrowToJava(gcj::JniContext* ctx, char* err) {
-        ctx->ThrowToJava(err);
-    }
-    
-    int IGNITE_CALL IgniteHandlersSize() {
-        return sizeof(gcj::JniHandlers);
-    }
-
-    void* IGNITE_CALL IgniteCreateContext(char** opts, int optsLen, gcj::JniHandlers* cbs) {
-        return gcj::JniContext::Create(opts, optsLen, *cbs);
-    }
-
-    void IGNITE_CALL IgniteDeleteContext(gcj::JniContext* ctx) {
-        delete ctx;
-    }
-
-    void IGNITE_CALL IgniteDestroyJvm(gcj::JniContext* ctx) {
-        ctx->DestroyJvm();
-    }
-
-    void* IGNITE_CALL IgniteEventsWithAsync(gcj::JniContext* ctx, void* obj) {
-        return ctx->EventsWithAsync(static_cast<jobject>(obj));
-    }
-
-    bool IGNITE_CALL IgniteEventsStopLocalListen(gcj::JniContext* ctx, void* obj, long long hnd) {
-        return ctx->EventsStopLocalListen(static_cast<jobject>(obj), hnd);
-    }
-
-    void IGNITE_CALL IgniteEventsLocalListen(gcj::JniContext* ctx, void* obj, long long hnd, int type) {
-        ctx->EventsLocalListen(static_cast<jobject>(obj), hnd, type);
-    }
-
-    bool IGNITE_CALL IgniteEventsIsEnabled(gcj::JniContext* ctx, void* obj, int type) {
-        return ctx->EventsIsEnabled(static_cast<jobject>(obj), type);
-    }    
-    
-	void* IGNITE_CALL IgniteServicesWithAsync(gcj::JniContext* ctx, void* obj) {
-		return ctx->ServicesWithAsync(static_cast<jobject>(obj));
-    }
-
-    void* IGNITE_CALL IgniteServicesWithServerKeepPortable(gcj::JniContext* ctx, void* obj) {
-    		return ctx->ServicesWithServerKeepPortable(static_cast<jobject>(obj));
-        }
-
-	void IGNITE_CALL IgniteServicesCancel(gcj::JniContext* ctx, void* obj, char* name) {
-		ctx->ServicesCancel(static_cast<jobject>(obj), name);
-    }
-
-	void IGNITE_CALL IgniteServicesCancelAll(gcj::JniContext* ctx, void* obj) {
-		ctx->ServicesCancelAll(static_cast<jobject>(obj));
-    }
-
-	void* IGNITE_CALL IgniteServicesGetServiceProxy(gcj::JniContext* ctx, void* obj, char* name, bool sticky) {
-		return ctx->ServicesGetServiceProxy(static_cast<jobject>(obj), name, sticky);
-    }
-}
\ No newline at end of file