http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/project/vs/core.vcxproj ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/project/vs/core.vcxproj b/modules/platform/src/main/cpp/core/project/vs/core.vcxproj new file mode 100644 index 0000000..6819416 --- /dev/null +++ b/modules/platform/src/main/cpp/core/project/vs/core.vcxproj @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.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>{E2DEA693-F2EA-43C2-A813-053378F6E4DB}</ProjectGuid> + <RootNamespace>core</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> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v100</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </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'"> + <TargetName>gridgain.core</TargetName> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <TargetName>gridgain.core</TargetName> + <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> + <IntDir>$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <TargetName>gridgain.core</TargetName> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <TargetName>gridgain.core</TargetName> + <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> + <IntDir>$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>false</SDLCheck> + <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\..\..\common\include;$(ProjectDir)\..\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> + <IntrinsicFunctions>false</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>false</OmitFramePointers> + <StringPooling>true</StringPooling> + <MinimalRebuild>false</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <WholeProgramOptimization>false</WholeProgramOptimization> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OptimizeReferences>false</OptimizeReferences> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>false</SDLCheck> + <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\..\..\common\include;$(ProjectDir)\..\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> + <IntrinsicFunctions>false</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>false</OmitFramePointers> + <StringPooling>true</StringPooling> + <MinimalRebuild>false</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <WholeProgramOptimization>false</WholeProgramOptimization> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OptimizeReferences>false</OptimizeReferences> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <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)\..\..\..\..\common\include;$(ProjectDir)\..\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;NDEBUG;%(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> + </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)\..\..\..\..\common\include;$(ProjectDir)\..\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;NDEBUG;%(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> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClInclude Include="..\..\include\gridgain\cache\cache.h" /> + <ClInclude Include="..\..\include\gridgain\cache\cache_entry.h" /> + <ClInclude Include="..\..\include\gridgain\cache\cache_peek_mode.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_argument.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_cursor.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_scan.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_sql.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_text.h" /> + <ClInclude Include="..\..\include\gridgain\grid.h" /> + <ClInclude Include="..\..\include\gridgain\grid_configuration.h" /> + <ClInclude Include="..\..\include\gridgain\grid_error.h" /> + <ClInclude Include="..\..\include\gridgain\grid_factory.h" /> + <ClInclude Include="..\..\include\gridgain\guid.h" /> + <ClInclude Include="..\..\include\gridgain\impl\cache\cache_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\cache\query\query_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\grid_environment.h" /> + <ClInclude Include="..\..\include\gridgain\impl\grid_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\handle_registry.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_input_stream.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_memory.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_output_stream.h" /> + <ClInclude Include="..\..\include\gridgain\impl\operations.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_common.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_id_resolver.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_handler.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_manager.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_snapshot.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_updater.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_updater_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_reader_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_utils.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_writer_impl.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_consts.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_containers.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_type.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_raw_reader.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_raw_writer.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_reader.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_writer.h" /> + <ClInclude Include="..\..\os\win\include\gridgain\impl\utils.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\os\win\src\impl\utils.cpp" /> + <ClCompile Include="..\..\src\grid.cpp" /> + <ClCompile Include="..\..\src\grid_error.cpp" /> + <ClCompile Include="..\..\src\grid_factory.cpp" /> + <ClCompile Include="..\..\src\guid.cpp" /> + <ClCompile Include="..\..\src\impl\cache\cache_impl.cpp" /> + <ClCompile Include="..\..\src\impl\cache\query\query_impl.cpp" /> + <ClCompile Include="..\..\src\impl\grid_environment.cpp" /> + <ClCompile Include="..\..\src\impl\grid_impl.cpp" /> + <ClCompile Include="..\..\src\impl\handle_registry.cpp" /> + <ClCompile Include="..\..\src\impl\interop\interop_input_stream.cpp" /> + <ClCompile Include="..\..\src\impl\interop\interop_memory.cpp" /> + <ClCompile Include="..\..\src\impl\interop\interop_output_stream.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_handler.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_manager.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_snapshot.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_updater.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_updater_impl.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_reader_impl.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_utils.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_writer_impl.cpp" /> + <ClCompile Include="..\..\src\portable\portable_containers.cpp" /> + <ClCompile Include="..\..\src\portable\portable_type.cpp" /> + <ClCompile Include="..\..\src\portable\portable_raw_reader.cpp" /> + <ClCompile Include="..\..\src\portable\portable_raw_writer.cpp" /> + <ClCompile Include="..\..\src\portable\portable_reader.cpp" /> + <ClCompile Include="..\..\src\portable\portable_writer.cpp" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\..\common\project\vs\common.vcxproj"> + <Project>{4f7e4917-4612-4b96-9838-025711ade391}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/project/vs/core.vcxproj.filters ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/project/vs/core.vcxproj.filters b/modules/platform/src/main/cpp/core/project/vs/core.vcxproj.filters new file mode 100644 index 0000000..7640178 --- /dev/null +++ b/modules/platform/src/main/cpp/core/project/vs/core.vcxproj.filters @@ -0,0 +1,246 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="..\..\src\impl\cache\cache_impl.cpp"> + <Filter>Code\impl\cache</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\interop\interop_input_stream.cpp"> + <Filter>Code\impl\interop</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\interop\interop_memory.cpp"> + <Filter>Code\impl\interop</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\interop\interop_output_stream.cpp"> + <Filter>Code\impl\interop</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\grid_environment.cpp"> + <Filter>Code\impl</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\grid_impl.cpp"> + <Filter>Code\impl</Filter> + </ClCompile> + <ClCompile Include="..\..\src\portable\portable_containers.cpp"> + <Filter>Code\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\portable\portable_raw_reader.cpp"> + <Filter>Code\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\portable\portable_raw_writer.cpp"> + <Filter>Code\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\portable\portable_reader.cpp"> + <Filter>Code\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\portable\portable_writer.cpp"> + <Filter>Code\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_reader_impl.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_utils.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_writer_impl.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\os\win\src\impl\utils.cpp"> + <Filter>Code\impl</Filter> + </ClCompile> + <ClCompile Include="..\..\src\grid.cpp"> + <Filter>Code</Filter> + </ClCompile> + <ClCompile Include="..\..\src\grid_error.cpp"> + <Filter>Code</Filter> + </ClCompile> + <ClCompile Include="..\..\src\grid_factory.cpp"> + <Filter>Code</Filter> + </ClCompile> + <ClCompile Include="..\..\src\guid.cpp"> + <Filter>Code</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\handle_registry.cpp"> + <Filter>Code\impl</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\cache\query\query_impl.cpp"> + <Filter>Code\impl\cache\query</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_snapshot.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_handler.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\portable\portable_type.cpp"> + <Filter>Code\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_manager.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_updater.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_updater_impl.cpp"> + <Filter>Code\impl\portable</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\include\gridgain\impl\cache\cache_impl.h"> + <Filter>Code\impl\cache</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\cache.h"> + <Filter>Code\cache</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\cache_peek_mode.h"> + <Filter>Code\cache</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop.h"> + <Filter>Code\impl\interop</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_input_stream.h"> + <Filter>Code\impl\interop</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_memory.h"> + <Filter>Code\impl\interop</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_output_stream.h"> + <Filter>Code\impl\interop</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\grid_environment.h"> + <Filter>Code\impl</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\grid_impl.h"> + <Filter>Code\impl</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\operations.h"> + <Filter>Code\impl</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_common.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_consts.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_containers.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_id_resolver.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_raw_reader.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_raw_writer.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_reader.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_writer.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_reader_impl.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_utils.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_writer_impl.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\os\win\include\gridgain\impl\utils.h"> + <Filter>Code\impl</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\grid.h"> + <Filter>Code</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\grid_configuration.h"> + <Filter>Code</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\grid_error.h"> + <Filter>Code</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\grid_factory.h"> + <Filter>Code</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\guid.h"> + <Filter>Code</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\handle_registry.h"> + <Filter>Code\impl</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\cache_entry.h"> + <Filter>Code\cache</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\cache\query\query_impl.h"> + <Filter>Code\impl\cache\query</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_snapshot.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_handler.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_manager.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\portable\portable_type.h"> + <Filter>Code\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_updater.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_updater_impl.h"> + <Filter>Code\impl\portable</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\query\query_argument.h"> + <Filter>Code\cache\query</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\query\query_cursor.h"> + <Filter>Code\cache\query</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\query\query_sql.h"> + <Filter>Code\cache\query</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\query\query.h"> + <Filter>Code\cache\query</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\query\query_text.h"> + <Filter>Code\cache\query</Filter> + </ClInclude> + <ClInclude Include="..\..\include\gridgain\cache\query\query_scan.h"> + <Filter>Code\cache\query</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <Filter Include="Code"> + <UniqueIdentifier>{91873c79-a64f-4786-ab25-d03ef2db9dc8}</UniqueIdentifier> + </Filter> + <Filter Include="Code\impl"> + <UniqueIdentifier>{9bede404-e1b1-44d6-b54d-e9b2441c5f13}</UniqueIdentifier> + </Filter> + <Filter Include="Code\impl\cache"> + <UniqueIdentifier>{b013b0f6-c4b8-4b88-89bc-8b394971788e}</UniqueIdentifier> + </Filter> + <Filter Include="Code\impl\portable"> + <UniqueIdentifier>{883773bd-085d-4eb5-81ee-f11188134faf}</UniqueIdentifier> + </Filter> + <Filter Include="Code\impl\interop"> + <UniqueIdentifier>{d4cc8aeb-6e7b-47e6-9b83-cba925844d96}</UniqueIdentifier> + </Filter> + <Filter Include="Code\cache"> + <UniqueIdentifier>{8b7e32c0-e222-4f3a-af31-19df380c369f}</UniqueIdentifier> + </Filter> + <Filter Include="Code\portable"> + <UniqueIdentifier>{24b7134c-9335-44e1-9604-4093d0e3bbf5}</UniqueIdentifier> + </Filter> + <Filter Include="Code\cache\query"> + <UniqueIdentifier>{4658a0ff-0d2d-45a6-b8de-93eeec0cc081}</UniqueIdentifier> + </Filter> + <Filter Include="Code\impl\cache\query"> + <UniqueIdentifier>{b6e57294-120a-46f2-b0ad-c3595e2cf789}</UniqueIdentifier> + </Filter> + </ItemGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/project/vs/core.vcxprojrel ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/project/vs/core.vcxprojrel b/modules/platform/src/main/cpp/core/project/vs/core.vcxprojrel new file mode 100644 index 0000000..4f9bfaf --- /dev/null +++ b/modules/platform/src/main/cpp/core/project/vs/core.vcxprojrel @@ -0,0 +1,272 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.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>{E2DEA693-F2EA-43C2-A813-053378F6E4DB}</ProjectGuid> + <RootNamespace>core</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> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v100</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </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'"> + <TargetName>gridgain.core</TargetName> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <TargetName>gridgain.core</TargetName> + <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> + <IntDir>$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <TargetName>gridgain.core</TargetName> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <TargetName>gridgain.core</TargetName> + <OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir> + <IntDir>$(Platform)\$(Configuration)\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>false</SDLCheck> + <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> + <IntrinsicFunctions>false</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>false</OmitFramePointers> + <StringPooling>true</StringPooling> + <MinimalRebuild>false</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <WholeProgramOptimization>false</WholeProgramOptimization> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OptimizeReferences>false</OptimizeReferences> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>false</SDLCheck> + <AdditionalIncludeDirectories>$(JAVA_HOME)\include;$(JAVA_HOME)\include\win32;$(ProjectDir)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>Disabled</InlineFunctionExpansion> + <IntrinsicFunctions>false</IntrinsicFunctions> + <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> + <OmitFramePointers>false</OmitFramePointers> + <StringPooling>true</StringPooling> + <MinimalRebuild>false</MinimalRebuild> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <WholeProgramOptimization>false</WholeProgramOptimization> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalLibraryDirectories>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> + <AdditionalDependencies>$(JAVA_HOME)\lib\jvm.lib;%(AdditionalDependencies)</AdditionalDependencies> + <OptimizeReferences>false</OptimizeReferences> + <EnableCOMDATFolding>false</EnableCOMDATFolding> + <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <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)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;NDEBUG;%(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> + </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)\..\..\..\common\include;$(ProjectDir)\..\..\..\common\os\win\include;$(ProjectDir)\..\..\include;$(ProjectDir)\..\..\os\win\include</AdditionalIncludeDirectories> + <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> + <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed> + <OmitFramePointers>true</OmitFramePointers> + <StringPooling>true</StringPooling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;IGNITE_IMPL;GG_FRIEND;NDEBUG;%(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> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClInclude Include="..\..\include\gridgain\cache\cache.h" /> + <ClInclude Include="..\..\include\gridgain\cache\cache_entry.h" /> + <ClInclude Include="..\..\include\gridgain\cache\cache_peek_mode.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_argument.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_cursor.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_scan.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_sql.h" /> + <ClInclude Include="..\..\include\gridgain\cache\query\query_text.h" /> + <ClInclude Include="..\..\include\gridgain\grid.h" /> + <ClInclude Include="..\..\include\gridgain\grid_configuration.h" /> + <ClInclude Include="..\..\include\gridgain\grid_error.h" /> + <ClInclude Include="..\..\include\gridgain\grid_factory.h" /> + <ClInclude Include="..\..\include\gridgain\guid.h" /> + <ClInclude Include="..\..\include\gridgain\impl\cache\cache_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\cache\query\query_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\grid_environment.h" /> + <ClInclude Include="..\..\include\gridgain\impl\grid_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\handle_registry.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_input_stream.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_memory.h" /> + <ClInclude Include="..\..\include\gridgain\impl\interop\interop_output_stream.h" /> + <ClInclude Include="..\..\include\gridgain\impl\operations.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_common.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_id_resolver.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_handler.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_manager.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_snapshot.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_updater.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_metadata_updater_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_reader_impl.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_utils.h" /> + <ClInclude Include="..\..\include\gridgain\impl\portable\portable_writer_impl.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_consts.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_containers.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_type.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_raw_reader.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_raw_writer.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_reader.h" /> + <ClInclude Include="..\..\include\gridgain\portable\portable_writer.h" /> + <ClInclude Include="..\..\os\win\include\gridgain\impl\utils.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\os\win\src\impl\utils.cpp" /> + <ClCompile Include="..\..\src\grid.cpp" /> + <ClCompile Include="..\..\src\grid_error.cpp" /> + <ClCompile Include="..\..\src\grid_factory.cpp" /> + <ClCompile Include="..\..\src\guid.cpp" /> + <ClCompile Include="..\..\src\impl\cache\cache_impl.cpp" /> + <ClCompile Include="..\..\src\impl\cache\query\query_impl.cpp" /> + <ClCompile Include="..\..\src\impl\grid_environment.cpp" /> + <ClCompile Include="..\..\src\impl\grid_impl.cpp" /> + <ClCompile Include="..\..\src\impl\handle_registry.cpp" /> + <ClCompile Include="..\..\src\impl\interop\interop_input_stream.cpp" /> + <ClCompile Include="..\..\src\impl\interop\interop_memory.cpp" /> + <ClCompile Include="..\..\src\impl\interop\interop_output_stream.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_handler.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_manager.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_snapshot.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_updater.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_metadata_updater_impl.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_reader_impl.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_utils.cpp" /> + <ClCompile Include="..\..\src\impl\portable\portable_writer_impl.cpp" /> + <ClCompile Include="..\..\src\portable\portable_containers.cpp" /> + <ClCompile Include="..\..\src\portable\portable_type.cpp" /> + <ClCompile Include="..\..\src\portable\portable_raw_reader.cpp" /> + <ClCompile Include="..\..\src\portable\portable_raw_writer.cpp" /> + <ClCompile Include="..\..\src\portable\portable_reader.cpp" /> + <ClCompile Include="..\..\src\portable\portable_writer.cpp" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\..\..\common\project\vs\common.vcxproj"> + <Project>{4f7e4917-4612-4b96-9838-025711ade391}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/src/grid.cpp ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/src/grid.cpp b/modules/platform/src/main/cpp/core/src/grid.cpp new file mode 100644 index 0000000..44c878e --- /dev/null +++ b/modules/platform/src/main/cpp/core/src/grid.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (C) GridGain Systems. All Rights Reserved. + * _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +#include <ignite/common/java.h> + +#include "gridgain/impl/grid_impl.h" +#include "gridgain/grid.h" + +using namespace ignite::common::concurrent; +using namespace gridgain::impl; + +namespace gridgain +{ + Grid::Grid() : impl(SharedPointer<GridImpl>()) + { + // No-op. + } + + Grid::Grid(GridImpl* impl) : impl(SharedPointer<GridImpl>(impl)) + { + // No-op. + } + + char* Grid::GetName() + { + return impl.Get()->GetName(); + } +} + http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/src/grid_error.cpp ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/src/grid_error.cpp b/modules/platform/src/main/cpp/core/src/grid_error.cpp new file mode 100644 index 0000000..9dbaf1b --- /dev/null +++ b/modules/platform/src/main/cpp/core/src/grid_error.cpp @@ -0,0 +1,217 @@ +/* + * Copyright (C) GridGain Systems. All Rights Reserved. + * _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +#include <ignite/common/java.h> + +#include "gridgain/impl/utils.h" +#include "gridgain/grid_error.h" + +using namespace ignite::common::java; +using namespace gridgain::impl::utils; + +namespace gridgain +{ + void GridError::ThrowIfNeeded(GridError& err) + { + if (err.code != GG_SUCCESS) + throw err; + } + + GridError::GridError() : code(GG_SUCCESS), msg(NULL) + { + // No-op. + } + + GridError::GridError(int32_t code) : code(code), msg(NULL) + { + // No-op. + } + + GridError::GridError(int32_t code, const char* msg) + { + this->code = code; + this->msg = CopyChars(msg); + } + + GridError::GridError(const GridError& other) + { + this->code = other.code; + this->msg = CopyChars(other.msg); + } + + GridError& GridError::operator=(const GridError& other) + { + if (this != &other) + { + GridError tmp(other); + + int tmpCode = code; + char* tmpMsg = msg; + + code = tmp.code; + msg = tmp.msg; + + tmp.code = tmpCode; + tmp.msg = tmpMsg; + } + + return *this; + } + + GridError::~GridError() + { + ReleaseChars(msg); + } + + int32_t GridError::GetCode() + { + return code; + } + + const char* GridError::GetText() + { + if (code == GG_SUCCESS) + return "Operation completed successfully."; + else if (msg) + return msg; + else + return "No additional information available."; + } + + void GridError::SetError(const int jniCode, const char* jniCls, const char* jniMsg, GridError* err) + { + if (jniCode == IGNITE_JNI_ERR_SUCCESS) + *err = GridError(); + else if (jniCode == IGNITE_JNI_ERR_GENERIC) + { + // The most common case when we have Java exception "in hands" and must map it to respective code. + if (jniCls) + { + std::string jniCls0 = jniCls; + + if (jniCls0.compare("java.lang.NoClassDefFoundError") == 0) + { + std::stringstream stream; + + stream << "Java class is not found (did you set GRIDGAIN_HOME environment variable?)"; + + if (jniMsg) + stream << ": " << jniMsg; + + *err = GridError(GG_ERR_JVM_NO_CLASS_DEF_FOUND, stream.str().c_str()); + } + else if (jniCls0.compare("java.lang.NoSuchMethodError") == 0) + { + std::stringstream stream; + + stream << "Java method is not found (did you set GRIDGAIN_HOME environment variable?)"; + + if (jniMsg) + stream << ": " << jniMsg; + + *err = GridError(GG_ERR_JVM_NO_SUCH_METHOD, stream.str().c_str()); + } + else if (jniCls0.compare("java.lang.IllegalArgumentException") == 0) + *err = GridError(GG_ERR_ILLEGAL_ARGUMENT, jniMsg); + else if (jniCls0.compare("java.lang.IllegalStateException") == 0) + *err = GridError(GG_ERR_ILLEGAL_STATE, jniMsg); + else if (jniCls0.compare("java.lang.UnsupportedOperationException") == 0) + *err = GridError(GG_ERR_UNSUPPORTED_OPERATION, jniMsg); + else if (jniCls0.compare("java.lang.InterruptedException") == 0) + *err = GridError(GG_ERR_INTERRUPTED, jniMsg); + else if (jniCls0.compare("org.apache.ignite.cluster.ClusterGroupEmptyException") == 0) + *err = GridError(GG_ERR_CLUSTER_GROUP_EMPTY, jniMsg); + else if (jniCls0.compare("org.apache.ignite.cluster.ClusterTopologyException") == 0) + *err = GridError(GG_ERR_CLUSTER_TOPOLOGY, jniMsg); + else if (jniCls0.compare("org.apache.ignite.compute.ComputeExecutionRejectedException") == 0) + *err = GridError(GG_ERR_COMPUTE_EXECUTION_REJECTED, jniMsg); + else if (jniCls0.compare("org.apache.ignite.compute.ComputeJobFailoverException") == 0) + *err = GridError(GG_ERR_COMPUTE_JOB_FAILOVER, jniMsg); + else if (jniCls0.compare("org.apache.ignite.compute.ComputeTaskCancelledException") == 0) + *err = GridError(GG_ERR_COMPUTE_TASK_CANCELLED, jniMsg); + else if (jniCls0.compare("org.apache.ignite.compute.ComputeTaskTimeoutException") == 0) + *err = GridError(GG_ERR_COMPUTE_TASK_TIMEOUT, jniMsg); + else if (jniCls0.compare("org.apache.ignite.compute.ComputeUserUndeclaredException") == 0) + *err = GridError(GG_ERR_COMPUTE_USER_UNDECLARED_EXCEPTION, jniMsg); + else if (jniCls0.compare("javax.cache.CacheException") == 0) + *err = GridError(GG_ERR_CACHE, jniMsg); + else if (jniCls0.compare("javax.cache.integration.CacheLoaderException") == 0) + *err = GridError(GG_ERR_CACHE_LOADER, jniMsg); + else if (jniCls0.compare("javax.cache.integration.CacheWriterException") == 0) + *err = GridError(GG_ERR_CACHE_WRITER, jniMsg); + else if (jniCls0.compare("javax.cache.processor.EntryProcessorException") == 0) + *err = GridError(GG_ERR_ENTRY_PROCESSOR, jniMsg); + else if (jniCls0.compare("org.apache.ignite.cache.CacheAtomicUpdateTimeoutException") == 0) + *err = GridError(GG_ERR_CACHE_ATOMIC_UPDATE_TIMEOUT, jniMsg); + else if (jniCls0.compare("org.apache.ignite.cache.CachePartialUpdateException") == 0) + *err = GridError(GG_ERR_CACHE_PARTIAL_UPDATE, jniMsg); + else if (jniCls0.compare("org.apache.ignite.transactions.TransactionOptimisticException") == 0) + *err = GridError(GG_ERR_TX_OPTIMISTIC, jniMsg); + else if (jniCls0.compare("org.apache.ignite.transactions.TransactionTimeoutException") == 0) + *err = GridError(GG_ERR_TX_TIMEOUT, jniMsg); + else if (jniCls0.compare("org.apache.ignite.transactions.TransactionRollbackException") == 0) + *err = GridError(GG_ERR_TX_ROLLBACK, jniMsg); + else if (jniCls0.compare("org.apache.ignite.transactions.TransactionHeuristicException") == 0) + *err = GridError(GG_ERR_TX_HEURISTIC, jniMsg); + else if (jniCls0.compare("org.apache.ignite.IgniteAuthenticationException") == 0) + *err = GridError(GG_ERR_AUTHENTICATION, jniMsg); + else if (jniCls0.compare("org.apache.ignite.plugin.security.GridSecurityException") == 0) + *err = GridError(GG_ERR_SECURITY, jniMsg); + else if (jniCls0.compare("org.gridgain.grid.product.ProductLicenseException") == 0) + *err = GridError(GG_ERR_PRODUCT_LICENSE, jniMsg); + else if (jniCls0.compare("org.apache.ignite.IgniteException") == 0) + *err = GridError(GG_ERR_GENERIC, jniMsg); + else if (jniCls0.compare("org.apache.ignite.IgniteCheckedException") == 0) + *err = GridError(GG_ERR_GENERIC, jniMsg); + else + { + std::stringstream stream; + + stream << "Java exception occurred [cls=" << jniCls0; + + if (jniMsg) + stream << ", msg=" << jniMsg; + + stream << "]"; + + *err = GridError(GG_ERR_UNKNOWN, stream.str().c_str()); + } + } + else + { + // JNI class name is not available. Something really weird. + *err = GridError(GG_ERR_UNKNOWN); + } + } + else if (jniCode == IGNITE_JNI_ERR_JVM_INIT) + { + std::stringstream stream; + + stream << "Failed to initialize JVM [errCls="; + + if (jniCls) + stream << jniCls; + else + stream << "N/A"; + + stream << ", errMsg="; + + if (jniMsg) + stream << jniMsg; + else + stream << "N/A"; + + stream << "]"; + + *err = GridError(GG_ERR_JVM_INIT, stream.str().c_str()); + } + else if (jniCode == IGNITE_JNI_ERR_JVM_ATTACH) + *err = GridError(GG_ERR_JVM_ATTACH, "Failed to attach to JVM."); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/src/grid_factory.cpp ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/src/grid_factory.cpp b/modules/platform/src/main/cpp/core/src/grid_factory.cpp new file mode 100644 index 0000000..7c7571c --- /dev/null +++ b/modules/platform/src/main/cpp/core/src/grid_factory.cpp @@ -0,0 +1,460 @@ +/* + * Copyright (C) GridGain Systems. All Rights Reserved. + * _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +#include <sstream> + +#include <ignite/common/common.h> +#include <ignite/common/concurrent.h> +#include <ignite/common/exports.h> +#include <ignite/common/java.h> + +#include "gridgain/impl/grid_environment.h" +#include "gridgain/impl/grid_impl.h" +#include "gridgain/impl/utils.h" +#include "gridgain/grid_factory.h" + +using namespace ignite::common::concurrent; +using namespace ignite::common::java; +using namespace gridgain::impl; +using namespace gridgain::impl::utils; + +namespace gridgain +{ + /** Default configuration. */ + const char* GRID_DFLT_CFG = "config/default-config.xml"; + + /** Whether JVM library is loaded to the process. */ + bool JVM_LIB_LOADED; + + /** Critical section for factory methods. */ + CriticalSection factoryLock; + + /** Flag indicating that at least one grid has started. */ + bool started = false; + + /** + * Convert integer value to string. + */ + std::string JvmMemoryString(const std::string& prefix, int32_t val) + { + std::ostringstream ss; + ss << val; + + std::string valStr = ss.str(); + + std::string res = std::string(prefix); + res.append(valStr); + res.append("m"); + + return res; + } + + /** + * Create JVM options. + * + * @param cfg Configuration. + * @param home Optional GG home. + * @param cp Classpath. + * @param opts Options. + * @param optsLen Options length. + * @return Options. + */ + char** CreateJvmOptions(const GridConfiguration& cfg, const std::string* home, const std::string& cp, int* optsLen) + { + *optsLen = 3 + (home ? 1 : 0) + cfg.jvmOptsLen; + char** opts = new char*[*optsLen]; + + int idx = 0; + + // 1. Set classpath. + std::string cpFull = std::string("-Djava.class.path=") + cp; + + *(opts + idx++) = CopyChars(cpFull.c_str()); + + // 2. Set home. + if (home) { + std::string homeFull = std::string("-DGRIDGAIN_HOME=") + *home; + + *(opts + idx++) = CopyChars(homeFull.c_str()); + } + + // 3. Set Xms, Xmx. + std::string xmsStr = JvmMemoryString(std::string("-Xms"), cfg.jvmInitMem); + std::string xmxStr = JvmMemoryString(std::string("-Xmx"), cfg.jvmMaxMem); + + *(opts + idx++) = CopyChars(xmsStr.c_str()); + *(opts + idx++) = CopyChars(xmxStr.c_str()); + + // 4. Set the rest options. + for (int i = 0; i < cfg.jvmOptsLen; i++) { + char* optCopy = CopyChars(cfg.jvmOpts[i].opt); + + opts[idx++] = optCopy; + } + + return opts; + } + + Grid GridFactory::Start(const GridConfiguration& cfg) + { + return Start(cfg, static_cast<const char*>(NULL)); + } + + Grid GridFactory::Start(const GridConfiguration& cfg, GridError* err) + { + return Start(cfg, NULL, err); + } + + Grid GridFactory::Start(const GridConfiguration& cfg, const char* name) + { + GridError err; + + Grid res = Start(cfg, name, &err); + + GridError::ThrowIfNeeded(err); + + return res; + } + + Grid GridFactory::Start(const GridConfiguration& cfg, const char* name, GridError* err) + { + bool failed = false; + + SharedPointer<GridEnvironment> env; + SharedPointer<GridEnvironment>* envTarget = NULL; + + jobject javaRef = NULL; + + factoryLock.Enter(); + + // 1. Load JVM library if needed. + if (!JVM_LIB_LOADED) + { + bool jvmLibFound; + std::string jvmLib; + + if (cfg.jvmLibPath) + { + std::string jvmLibPath = std::string(cfg.jvmLibPath); + + jvmLib = FindJvmLibrary(&jvmLibPath, &jvmLibFound); + } + else + jvmLib = FindJvmLibrary(NULL, &jvmLibFound); + + if (!jvmLibFound) + { + *err = GridError(GridError::GG_ERR_JVM_LIB_NOT_FOUND, + "JVM library is not found (did you set JAVA_HOME environment variable?)"); + + failed = true; + } + + if (!failed) { + if (!LoadJvmLibrary(jvmLib)) + { + *err = GridError(GridError::GG_ERR_JVM_LIB_LOAD_FAILED, "Failed to load JVM library."); + + failed = true; + } + } + + JVM_LIB_LOADED = true; + } + + if (!failed) + { + // 2. Resolve GRIDGAIN_HOME. + bool homeFound; + std::string home; + + if (cfg.gridGainHome) + { + std::string homePath = std::string(cfg.gridGainHome); + + home = ResolveGridGainHome(&homePath, &homeFound); + } + else + home = ResolveGridGainHome(NULL, &homeFound); + + // 3. Create classpath. + std::string cp; + + if (cfg.jvmClassPath) + { + std::string usrCp = cfg.jvmClassPath; + + cp = CreateGridGainClasspath(&usrCp, homeFound ? &home : NULL); + } + else + cp = CreateGridGainClasspath(NULL, homeFound ? &home : NULL); + + if (!cp.empty()) + { + // 4. Start JVM if needed. + JniErrorInfo jniErr; + + env = SharedPointer<GridEnvironment>(new GridEnvironment()); + + int optsLen; + char** opts = CreateJvmOptions(cfg, homeFound ? &home : NULL, cp, &optsLen); + + envTarget = new SharedPointer<GridEnvironment>(env); + + SharedPointer<JniContext> ctx( + JniContext::Create(opts, optsLen, env.Get()->GetJniHandlers(envTarget), &jniErr)); + + for (int i = 0; i < optsLen; i++) + ReleaseChars(*(opts + i)); + + delete[] opts; + + if (!ctx.Get()) + { + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + failed = true; + } + + // 5. Start Ignite. + if (!failed) + { + char* springCfgPath0 = CopyChars(cfg.springCfgPath); + + if (!springCfgPath0) + springCfgPath0 = CopyChars(GRID_DFLT_CFG); + + char* name0 = CopyChars(name); + + interop::InteropUnpooledMemory mem(16); + interop::InteropOutputStream stream(&mem); + stream.WriteBool(false); + stream.Synchronize(); + + javaRef = ctx.Get()->IgnitionStart(springCfgPath0, name0, 1002, mem.PointerLong(), &jniErr); + + ReleaseChars(springCfgPath0); + ReleaseChars(name0); + + if (!javaRef) { + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + failed = true; + } + else { + // 6. Ignite is started at this point. + env.Get()->Initialize(ctx); + + started = true; + } + } + } + else { + *err = GridError(GridError::GG_ERR_JVM_NO_CLASSPATH, + "Java classpath is empty (did you set GRIDGAIN_HOME environment variable?)"); + + failed = true; + } + } + + factoryLock.Leave(); + + if (failed) + { + if (envTarget) + delete envTarget; + + return Grid(); + } + else + { + GridImpl* impl = new GridImpl(env, javaRef); + + return Grid(impl); + } + } + + Grid GridFactory::Get() + { + return Get(static_cast<const char*>(NULL)); + } + + Grid GridFactory::Get(GridError* err) + { + return Get(NULL, err); + } + + Grid GridFactory::Get(const char* name) + { + GridError err; + + Grid res = Get(name, &err); + + GridError::ThrowIfNeeded(err); + + return res; + } + + Grid GridFactory::Get(const char* name, GridError* err) + { + Grid res; + + factoryLock.Enter(); + + if (started) + { + char* name0 = CopyChars(name); + + // 1. Create context for this operation. + JniErrorInfo jniErr; + + SharedPointer<JniContext> ctx(JniContext::Create(NULL, 0, JniHandlers(), &jniErr)); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (err->GetCode() == GridError::GG_SUCCESS) + { + // 2. Get environment pointer. + long long ptr = ctx.Get()->IgnitionEnvironmentPointer(name0, &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (err->GetCode() == GridError::GG_SUCCESS) + { + if (ptr != 0) + { + // 3. Obtain real environment for this instance. + JniHandlers* hnds = reinterpret_cast<JniHandlers*>(ptr); + + SharedPointer<GridEnvironment>* env = + static_cast<SharedPointer<GridEnvironment>*>(hnds->target); + + // 4. Get fresh node reference. + jobject ref = ctx.Get()->IgnitionInstance(name0, &jniErr); + + if (err->GetCode() == GridError::GG_SUCCESS) { + if (ref) + { + GridImpl* impl = new GridImpl(*env, ref); + + res = Grid(impl); + } + else + // Error: concurrent node stop. + *err = GridError(GridError::GG_ERR_GENERIC, + "Failed to get grid instance because it was stopped concurrently."); + + } + } + else + // Error: no node with the given name. + *err = GridError(GridError::GG_ERR_GENERIC, + "Failed to get grid instance because it is either not started yet or already stopped."); + } + } + + ReleaseChars(name0); + } + else + // Error: no node with the given name. + *err = GridError(GridError::GG_ERR_GENERIC, + "Failed to get grid instance because it is either not started yet or already stopped."); + + factoryLock.Leave(); + + return res; + } + + bool GridFactory::Stop(const bool cancel) + { + return Stop(NULL, cancel); + } + + bool GridFactory::Stop(const bool cancel, GridError* err) + { + return Stop(NULL, cancel, err); + } + + bool GridFactory::Stop(const char* name, const bool cancel) + { + GridError err; + + bool res = Stop(name, cancel, &err); + + GridError::ThrowIfNeeded(err); + + return res; + } + + bool GridFactory::Stop(const char* name, const bool cancel, GridError* err) + { + bool res = false; + + factoryLock.Enter(); + + if (started) + { + JniErrorInfo jniErr; + + SharedPointer<JniContext> ctx(JniContext::Create(NULL, 0, JniHandlers(), &jniErr)); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (err->GetCode() == GridError::GG_SUCCESS) + { + char* name0 = CopyChars(name); + + bool res0 = ctx.Get()->IgnitionStop(name0, cancel, &jniErr); + + ReleaseChars(name0); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (err->GetCode() == GridError::GG_SUCCESS) + res = res0; + } + } + + factoryLock.Leave(); + + return res; + } + + void GridFactory::StopAll(const bool cancel) + { + GridError err; + + StopAll(cancel, &err); + + GridError::ThrowIfNeeded(err); + } + + void GridFactory::StopAll(const bool cancel, GridError* err) + { + factoryLock.Enter(); + + if (started) + { + JniErrorInfo jniErr; + + SharedPointer<JniContext> ctx(JniContext::Create(NULL, 0, JniHandlers(), &jniErr)); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (err->GetCode() == GridError::GG_SUCCESS) + { + ctx.Get()->IgnitionStopAll(cancel, &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + } + } + + factoryLock.Leave(); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/src/guid.cpp ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/src/guid.cpp b/modules/platform/src/main/cpp/core/src/guid.cpp new file mode 100644 index 0000000..353bdab --- /dev/null +++ b/modules/platform/src/main/cpp/core/src/guid.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (C) GridGain Systems. All Rights Reserved. + * _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +#include "gridgain/guid.h" + +namespace gridgain +{ + Guid::Guid() : most(0), least(0) + { + // No-op. + } + + Guid::Guid(int64_t most, int64_t least) : most(most), least(least) + { + // No-op. + } + + int64_t Guid::GetMostSignificantBits() const + { + return most; + } + + int64_t Guid::GetLeastSignificantBits() const + { + return least; + } + + int32_t Guid::GetVersion() const + { + return static_cast<int32_t>((most >> 12) & 0x0f); + } + + int32_t Guid::GetVariant() const + { + uint64_t least0 = static_cast<uint64_t>(least); + + return static_cast<int32_t>((least0 >> (64 - (least0 >> 62))) & (least >> 63)); + } + + int32_t Guid::GetHashCode() const + { + int64_t hilo = most ^ least; + + return static_cast<int32_t>(hilo >> 32) ^ static_cast<int32_t>(hilo); + } + + bool operator==(Guid& val1, Guid& val2) + { + return val1.least == val2.least && val1.most == val2.most; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/1e18fa32/modules/platform/src/main/cpp/core/src/impl/cache/cache_impl.cpp ---------------------------------------------------------------------- diff --git a/modules/platform/src/main/cpp/core/src/impl/cache/cache_impl.cpp b/modules/platform/src/main/cpp/core/src/impl/cache/cache_impl.cpp new file mode 100644 index 0000000..f6a388a --- /dev/null +++ b/modules/platform/src/main/cpp/core/src/impl/cache/cache_impl.cpp @@ -0,0 +1,380 @@ +/* + * Copyright (C) GridGain Systems. All Rights Reserved. + * _________ _____ __________________ _____ + * __ ____/___________(_)______ /__ ____/______ ____(_)_______ + * _ / __ __ ___/__ / _ __ / _ / __ _ __ `/__ / __ __ \ + * / /_/ / _ / _ / / /_/ / / /_/ / / /_/ / _ / _ / / / + * \____/ /_/ /_/ \_,__/ \____/ \__,_/ /_/ /_/ /_/ + */ + +#include "gridgain/cache/cache_peek_mode.h" +#include "gridgain/impl/cache/cache_impl.h" +#include "gridgain/impl/interop/interop.h" +#include "gridgain/impl/portable/portable_reader_impl.h" +#include "gridgain/impl/utils.h" +#include "gridgain/portable/portable.h" +#include <gridgain/impl/portable/portable_metadata_updater_impl.h> + +using namespace ignite::common::concurrent; +using namespace ignite::common::java; +using namespace gridgain::cache; +using namespace gridgain::cache::query; +using namespace gridgain::impl; +using namespace gridgain::impl::cache::query; +using namespace gridgain::impl::interop; +using namespace gridgain::impl::portable; +using namespace gridgain::impl::utils; +using namespace gridgain::portable; + +namespace gridgain +{ + namespace impl + { + namespace cache + { + /** Operation: Clear. */ + const int32_t OP_CLEAR = 1; + + /** Operation: ClearAll. */ + const int32_t OP_CLEAR_ALL = 2; + + /** Operation: ContainsKey. */ + const int32_t OP_CONTAINS_KEY = 3; + + /** Operation: ContainsKeys. */ + const int32_t OP_CONTAINS_KEYS = 4; + + /** Operation: Get. */ + const int32_t OP_GET = 5; + + /** Operation: GetAll. */ + const int32_t OP_GET_ALL = 6; + + /** Operation: GetAndPut. */ + const int32_t OP_GET_AND_PUT = 7; + + /** Operation: GetAndPutIfAbsent. */ + const int32_t OP_GET_AND_PUT_IF_ABSENT = 8; + + /** Operation: GetAndRemove. */ + const int32_t OP_GET_AND_REMOVE = 9; + + /** Operation: GetAndReplace. */ + const int32_t OP_GET_AND_REPLACE = 10; + + /** Operation: LocalEvict. */ + const int32_t OP_LOCAL_EVICT = 16; + + /** Operation: LocalClear. */ + const int32_t OP_LOCAL_CLEAR = 20; + + /** Operation: LocalClearAll. */ + const int32_t OP_LOCAL_CLEAR_ALL = 21; + + /** Operation: LocalPeek. */ + const int32_t OP_LOCAL_PEEK = 25; + + /** Operation: Put. */ + const int32_t OP_PUT = 26; + + /** Operation: PutAll. */ + const int32_t OP_PUT_ALL = 27; + + /** Operation: PutIfAbsent. */ + const int32_t OP_PUT_IF_ABSENT = 28; + + /** Operation: SCAN query. */ + const int32_t OP_QRY_SCAN = 30; + + /** Operation: SQL query. */ + const int32_t OP_QRY_SQL = 31; + + /** Operation: SQL fields query. */ + const int32_t OP_QRY_SQL_FIELDS = 32; + + /** Operation: TEXT query. */ + const int32_t OP_QRY_TEXT = 33; + + /** Operation: RemoveAll. */ + const int32_t OP_REMOVE_ALL = 34; + + /** Operation: Remove(K, V). */ + const int32_t OP_REMOVE_2 = 35; + + /** Operation: Remove(K). */ + const int32_t OP_REMOVE_1 = 36; + + /** Operation: Replace(K, V). */ + const int32_t OP_REPLACE_2 = 37; + + /** Operation: Replace(K, V, V). */ + const int32_t OP_REPLACE_3 = 38; + + CacheImpl::CacheImpl(char* name, SharedPointer<GridEnvironment> env, jobject javaRef) : + name(name), env(env), javaRef(javaRef) + { + // No-op. + } + + CacheImpl::~CacheImpl() + { + ReleaseChars(name); + + JniContext::Release(javaRef); + } + + char* CacheImpl::GetName() + { + return name; + } + + bool CacheImpl::IsEmpty(GridError* err) + { + return Size(GG_PEEK_MODE_ALL, err) == 0; + } + + bool CacheImpl::ContainsKey(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_CONTAINS_KEY, inOp, err); + } + + bool CacheImpl::ContainsKeys(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_CONTAINS_KEYS, inOp, err); + } + + void CacheImpl::LocalPeek(InputOperation& inOp, OutputOperation& outOp, int32_t peekModes, GridError* err) + { + OutInOpInternal(OP_LOCAL_PEEK, inOp, outOp, err); + } + + void CacheImpl::Get(InputOperation& inOp, OutputOperation& outOp, GridError* err) + { + OutInOpInternal(OP_GET, inOp, outOp, err); + } + + void CacheImpl::GetAll(InputOperation& inOp, OutputOperation& outOp, GridError* err) + { + OutInOpInternal(OP_GET_ALL, inOp, outOp, err); + } + + void CacheImpl::Put(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_PUT, inOp, err); + } + + void CacheImpl::PutAll(gridgain::impl::InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_PUT_ALL, inOp, err); + } + + void CacheImpl::GetAndPut(InputOperation& inOp, OutputOperation& outOp, GridError* err) + { + OutInOpInternal(OP_GET_AND_PUT, inOp, outOp, err); + } + + void CacheImpl::GetAndReplace(InputOperation& inOp, OutputOperation& outOp, GridError* err) + { + OutInOpInternal(OP_GET_AND_REPLACE, inOp, outOp, err); + } + + void CacheImpl::GetAndRemove(InputOperation& inOp, OutputOperation& outOp, GridError* err) + { + OutInOpInternal(OP_GET_AND_REMOVE, inOp, outOp, err); + } + + bool CacheImpl::PutIfAbsent(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_PUT_IF_ABSENT, inOp, err); + } + + void CacheImpl::GetAndPutIfAbsent(InputOperation& inOp, OutputOperation& outOp, GridError* err) + { + OutInOpInternal(OP_GET_AND_PUT_IF_ABSENT, inOp, outOp, err); + } + + bool CacheImpl::Replace(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_REPLACE_2, inOp, err); + } + + bool CacheImpl::ReplaceIfEqual(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_REPLACE_3, inOp, err); + } + + void CacheImpl::LocalEvict(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_LOCAL_EVICT, inOp, err); + } + + void CacheImpl::Clear(GridError* err) + { + JniErrorInfo jniErr; + + env.Get()->Context()->CacheClear(javaRef, &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + } + + void CacheImpl::Clear(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_CLEAR, inOp, err); + } + + void CacheImpl::ClearAll(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_CLEAR_ALL, inOp, err); + } + + void CacheImpl::LocalClear(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_LOCAL_CLEAR, inOp, err); + } + + void CacheImpl::LocalClearAll(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_LOCAL_CLEAR_ALL, inOp, err); + } + + bool CacheImpl::Remove(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_REMOVE_1, inOp, err); + } + + bool CacheImpl::RemoveIfEqual(InputOperation& inOp, GridError* err) + { + return OutOpInternal(OP_REMOVE_2, inOp, err); + } + + void CacheImpl::RemoveAll(InputOperation& inOp, GridError* err) + { + OutOpInternal(OP_REMOVE_ALL, inOp, err); + } + + void CacheImpl::RemoveAll(GridError* err) + { + JniErrorInfo jniErr; + + env.Get()->Context()->CacheRemoveAll(javaRef, &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + } + + int32_t CacheImpl::Size(const int32_t peekModes, GridError* err) + { + return SizeInternal(peekModes, false, err); + } + + int32_t CacheImpl::LocalSize(const int32_t peekModes, GridError* err) + { + return SizeInternal(peekModes, true, err); + } + + QueryCursorImpl* CacheImpl::QuerySql(const SqlQuery& qry, GridError* err) + { + return QueryInternal(qry, OP_QRY_SQL, err); + } + + QueryCursorImpl* CacheImpl::QueryText(const TextQuery& qry, GridError* err) + { + return QueryInternal(qry, OP_QRY_TEXT, err); + } + + QueryCursorImpl* CacheImpl::QueryScan(const ScanQuery& qry, GridError* err) + { + return QueryInternal(qry, OP_QRY_SCAN, err); + } + + int64_t CacheImpl::WriteTo(InteropMemory* mem, InputOperation& inOp, GridError* err) + { + PortableMetadataManager* metaMgr = env.Get()->GetMetadataManager(); + + int32_t metaVer = metaMgr->GetVersion(); + + InteropOutputStream out(mem); + PortableWriterImpl writer(&out, metaMgr); + + inOp.ProcessInput(writer); + + out.Synchronize(); + + if (metaMgr->IsUpdatedSince(metaVer)) + { + PortableMetadataUpdaterImpl metaUpdater(env, javaRef); + + if (!metaMgr->ProcessPendingUpdates(&metaUpdater, err)) + return 0; + } + + return mem->PointerLong(); + } + + void CacheImpl::ReadFrom(InteropMemory* mem, OutputOperation& outOp) + { + InteropInputStream in(mem); + + PortableReaderImpl reader(&in); + + outOp.ProcessOutput(reader); + } + + int CacheImpl::SizeInternal(const int32_t peekModes, const bool loc, GridError* err) + { + JniErrorInfo jniErr; + + int res = env.Get()->Context()->CacheSize(javaRef, peekModes, loc, &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (jniErr.code == IGNITE_JNI_ERR_SUCCESS) + return res; + else + return -1; + } + + bool CacheImpl::OutOpInternal(const int32_t opType, InputOperation& inOp, GridError* err) + { + JniErrorInfo jniErr; + + SharedPointer<InteropMemory> mem = env.Get()->AllocateMemory(); + + int64_t outPtr = WriteTo(mem.Get(), inOp, err); + + if (outPtr) + { + long long res = env.Get()->Context()->TargetInStreamOutLong(javaRef, opType, outPtr, &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (jniErr.code == IGNITE_JNI_ERR_SUCCESS) + return res == 1; + } + + return false; + } + + void CacheImpl::OutInOpInternal(const int32_t opType, InputOperation& inOp, OutputOperation& outOp, + GridError* err) + { + JniErrorInfo jniErr; + + SharedPointer<InteropMemory> outMem = env.Get()->AllocateMemory(); + SharedPointer<InteropMemory> inMem = env.Get()->AllocateMemory(); + + int64_t outPtr = WriteTo(outMem.Get(), inOp, err); + + if (outPtr) + { + env.Get()->Context()->TargetInStreamOutStream(javaRef, opType, WriteTo(outMem.Get(), inOp, err), + inMem.Get()->PointerLong(), &jniErr); + + GridError::SetError(jniErr.code, jniErr.errCls, jniErr.errMsg, err); + + if (jniErr.code == IGNITE_JNI_ERR_SUCCESS) + ReadFrom(inMem.Get(), outOp); + } + } + } + } +} \ No newline at end of file
