p4ruby 2022.1.2359956-x64-mingw-ucrt

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/ext/P4/specmgr.h ADDED
@@ -0,0 +1,104 @@
1
+ /*******************************************************************************
2
+
3
+ Copyright (c) 2001-2008, Perforce Software, Inc. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright
12
+ notice, this list of conditions and the following disclaimer in the
13
+ documentation and/or other materials provided with the distribution.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
+ ARE DISCLAIMED. IN NO EVENT SHALL PERFORCE SOFTWARE, INC. BE LIABLE FOR ANY
19
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ *******************************************************************************/
27
+
28
+ /*******************************************************************************
29
+ * Name : specmgr.h
30
+ *
31
+ * Author : Tony Smith <tony@perforce.com> or <tony@smee.org>
32
+ *
33
+ * Description : Ruby bindings for the Perforce API. Class for handling
34
+ * Perforce specs. This class provides other classes with
35
+ * generic support for parsing and formatting Perforce
36
+ * specs.
37
+ *
38
+ ******************************************************************************/
39
+
40
+ class StrBufDict;
41
+ class SpecMgr
42
+ {
43
+ public:
44
+ SpecMgr();
45
+ ~SpecMgr();
46
+ void SetDebug( int i ) { debug = i; }
47
+ void SetArrayConversion( int a) { convertArray = a; }
48
+
49
+ // Clear the spec cache and revert to internal defaults
50
+ void Reset();
51
+
52
+ // Add a spec to the cache
53
+ void AddSpecDef( const char *type, StrPtr &specDef );
54
+ void AddSpecDef( const char *type, const char * specDef );
55
+
56
+ // Check that a type of spec is known.
57
+ int HaveSpecDef( const char *type );
58
+
59
+ //
60
+ // Parse routine: converts strings into Ruby P4::Spec objects.
61
+ //
62
+ VALUE StringToSpec( const char *type, const char *spec, Error *e );
63
+
64
+ //
65
+ // Format routine. updates a StrBuf object with the form;
66
+ // that can then be converted to a Ruby string where required.
67
+ //
68
+ void SpecToString(const char *type, VALUE hash, StrBuf &b, Error *e);
69
+
70
+ //
71
+ // Convert a Perforce StrDict into a Ruby hash. Used when we're
72
+ // parsing tagged output that is NOT a spec. e.g. output of
73
+ // fstat etc.
74
+ //
75
+ VALUE StrDictToHash( StrDict *dict, VALUE hash = Qnil );
76
+
77
+ //
78
+ // Convert a Perforce StrDict into a P4::Spec object. This is for
79
+ // 2005.2 and later servers where the forms are supplied pre-parsed
80
+ // into a dictionary - we just need to convert them. The specDef
81
+ // argument tells us what type of spec we're converting.
82
+ //
83
+ VALUE StrDictToSpec( StrDict *dict, StrPtr *specDef );
84
+
85
+
86
+ //
87
+ // Return a list of the fields in a given type of spec. Return Qnil
88
+ // if the spec type is not known.
89
+ //
90
+ VALUE SpecFields( const char *type );
91
+
92
+ private:
93
+
94
+ void SplitKey( const StrPtr *key, StrBuf &base, StrBuf &index );
95
+ void InsertItem( VALUE hash, const StrPtr *var, const StrPtr *val );
96
+ VALUE NewSpec( StrPtr *specDef );
97
+ VALUE SpecFields( StrPtr *specDef );
98
+
99
+ private:
100
+ int debug;
101
+ int convertArray;
102
+ StrBufDict * specs;
103
+ };
104
+
@@ -0,0 +1,64 @@
1
+ /*******************************************************************************
2
+
3
+ Copyright (c) 2001-2008, Perforce Software, Inc. All rights reserved.
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright
12
+ notice, this list of conditions and the following disclaimer in the
13
+ documentation and/or other materials provided with the distribution.
14
+
15
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
+ ARE DISCLAIMED. IN NO EVENT SHALL PERFORCE SOFTWARE, INC. BE LIABLE FOR ANY
19
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ *******************************************************************************/
27
+
28
+ /*******************************************************************************
29
+ * Name : undefdups.h
30
+ *
31
+ * Author : Tony Smith <tony@perforce.com> or <tony@smee.org>
32
+ *
33
+ * Description : Undefine portability macros defined by both Ruby's header
34
+ * files and those of the Perforce API. The idea is that you
35
+ * first include Ruby's headers, then this file, and then the
36
+ * Perforce API. This squelches any compiler warnings about
37
+ * pre-processor macros already being defined.
38
+ *
39
+ ******************************************************************************/
40
+
41
+ //
42
+ // Symbols defined by both Ruby and Perforce API headers
43
+ //
44
+ #undef HAVE_FSYNC
45
+ #undef HAVE_TRUNCATE
46
+
47
+ #ifdef _WIN32
48
+
49
+ // Unnecessary "#define SetPort SetPortA" in winspool.h
50
+ # ifdef SetPort
51
+ # undef SetPort
52
+ # endif
53
+
54
+ // GetMessage often #defined to GetMessageA
55
+ # ifdef GetMessage
56
+ # undef GetMessage
57
+ # endif
58
+
59
+ #endif
60
+
61
+ #ifdef HAVE_FORK
62
+ # undef HAVE_FORK
63
+ #endif
64
+
data/lib/2.7/P4.so ADDED
Binary file
data/lib/3.0/P4.so ADDED
Binary file
data/lib/3.1/P4.so ADDED
Binary file
data/lib/P4/version.rb ADDED
@@ -0,0 +1,3 @@
1
+ class P4
2
+ Version = VERSION = '2022.1.2359956'
3
+ end