1 //
2 // ====================================================================
3 // Copyright (c) 2003-2011 Barry A Scott. All rights reserved.
4 //
5 // This software is licensed as described in the file LICENSE.txt,
6 // which you should have received as part of this distribution.
7 //
8 // ====================================================================
9 //
10 //
11 // pysvn_enum_string.cpp
12 //
13 #if defined( _MSC_VER )
14 // disable warning C4786: symbol greater than 255 character,
15 // nessesary to ignore as <map> causes lots of warning
16 #pragma warning(disable: 4786)
17 #endif
18
19 #include "pysvn.hpp"
20
EnumString()21 template <> EnumString< svn_opt_revision_kind >::EnumString()
22 : m_type_name( "opt_revision_kind" )
23 {
24 // No revision information given.
25 add( svn_opt_revision_unspecified, "unspecified" );
26
27 // revision given as number
28 add( svn_opt_revision_number, "number" );
29
30 // revision given as date
31 add( svn_opt_revision_date, "date" );
32
33 // rev of most recent change
34 add( svn_opt_revision_committed, "committed" );
35
36 // (rev of most recent change) - 1
37 add( svn_opt_revision_previous, "previous" );
38
39 // .svn/entries current revision
40 add( svn_opt_revision_base, "base" );
41
42 // current, plus local mods
43 add( svn_opt_revision_working, "working" );
44
45 // repository youngest
46 add( svn_opt_revision_head, "head" );
47 }
48
EnumString()49 template <> EnumString< svn_wc_notify_action_t >::EnumString()
50 : m_type_name( "wc_notify_action" )
51 {
52 // Adding a path to revision control.
53 add( svn_wc_notify_add, "add" );
54
55 // Copying a versioned path.
56 add( svn_wc_notify_copy, "copy" );
57
58 // Deleting a versioned path.
59 add( svn_wc_notify_delete, "delete" );
60
61 // Restoring a missing path from the pristine text-base.
62 add( svn_wc_notify_restore, "restore" );
63
64 // Reverting a modified path.
65 add( svn_wc_notify_revert, "revert" );
66
67 // A revert operation has failed.
68 add( svn_wc_notify_failed_revert, "failed_revert" );
69
70 // Resolving a conflict.
71 add( svn_wc_notify_resolved, "resolved" );
72
73 // Skipping a path.
74 add( svn_wc_notify_skip, "skip" );
75
76 // Got a delete in an update.
77 add( svn_wc_notify_update_delete, "update_delete" );
78
79 // Got an add in an update.
80 add( svn_wc_notify_update_add, "update_add" );
81
82 // Got any other action in an update.
83 add( svn_wc_notify_update_update, "update_update" );
84
85 // The last notification in an update (including updates of externals).
86 add( svn_wc_notify_update_completed, "update_completed" );
87
88 // Updating an external module.
89 add( svn_wc_notify_update_external, "update_external" );
90
91 // The last notification in a status (including status on externals).
92 add( svn_wc_notify_status_completed, "status_completed" );
93
94 // Running status on an external module.
95 add( svn_wc_notify_status_external, "status_external" );
96
97 // Committing a modification.
98 add( svn_wc_notify_commit_modified, "commit_modified" );
99
100 // Committing an addition.
101 add( svn_wc_notify_commit_added, "commit_added" );
102
103 // Committing a deletion.
104 add( svn_wc_notify_commit_deleted, "commit_deleted" );
105
106 // Committing a replacement.
107 add( svn_wc_notify_commit_replaced, "commit_replaced" );
108
109 // Transmitting post-fix text-delta data for a file.
110 add( svn_wc_notify_commit_postfix_txdelta, "commit_postfix_txdelta" );
111
112 // Processed a single revision's blame.
113 add( svn_wc_notify_blame_revision, "annotate_revision" );
114
115 #if defined( PYSVN_HAS_CLIENT_LOCK )
116 // Locking a path.
117 add( svn_wc_notify_locked, "locked" );
118
119 //Unlocking a path.
120 add( svn_wc_notify_unlocked, "unlocked" );
121
122 // Failed to lock a path.
123 add( svn_wc_notify_failed_lock, "failed_lock" );
124
125 // Failed to unlock a path.
126 add( svn_wc_notify_failed_unlock, "failed_unlock" );
127 #endif
128 #if defined( PYSVN_HAS_SVN_WC_NOTIFY_ACTION_T__1_5 )
129 add( svn_wc_notify_exists, "exists" );
130 add( svn_wc_notify_changelist_set, "changelist_set" );
131 add( svn_wc_notify_changelist_clear, "changelist_clear" );
132 add( svn_wc_notify_changelist_moved, "changelist_moved" );
133 add( svn_wc_notify_merge_begin, "merge_begin" );
134 add( svn_wc_notify_foreign_merge_begin, "foreign_merge_begin" );
135 add( svn_wc_notify_update_replace, "update_replace" );
136 #endif
137
138 #if defined( PYSVN_HAS_SVN_1_6 )
139 add( svn_wc_notify_property_added, "property_added" );
140 add( svn_wc_notify_property_modified, "property_modified" );
141 add( svn_wc_notify_property_deleted, "property_deleted" );
142 add( svn_wc_notify_property_deleted_nonexistent, "property_deleted_nonexistent" );
143 add( svn_wc_notify_revprop_set, "revprop_set" );
144 add( svn_wc_notify_revprop_deleted, "revprop_deleted" );
145 add( svn_wc_notify_merge_completed, "merge_completed" );
146 add( svn_wc_notify_tree_conflict, "tree_conflict" );
147 add( svn_wc_notify_failed_external, "failed_external" );
148 #endif
149 #if defined( PYSVN_HAS_SVN_1_7 )
150 add( svn_wc_notify_update_started, "update_started" );
151 add( svn_wc_notify_update_skip_obstruction, "update_skip_obstruction" );
152 add( svn_wc_notify_update_skip_working_only, "update_skip_working_only" );
153 add( svn_wc_notify_update_external_removed, "update_external_removed" );
154 add( svn_wc_notify_update_shadowed_add, "update_shadowed_add" );
155 add( svn_wc_notify_update_shadowed_update, "update_shadowed_update" );
156 add( svn_wc_notify_update_shadowed_delete, "update_shadowed_delete" );
157 add( svn_wc_notify_merge_record_info, "merge_record_info" );
158 add( svn_wc_notify_upgraded_path, "upgraded_path" );
159 add( svn_wc_notify_merge_record_info_begin, "merge_record_info_begin" );
160 add( svn_wc_notify_merge_elide_info, "merge_elide_info" );
161 add( svn_wc_notify_patch, "patch" );
162 add( svn_wc_notify_patch_applied_hunk, "patch_applied_hunk" );
163 add( svn_wc_notify_patch_rejected_hunk, "patch_rejected_hunk" );
164 add( svn_wc_notify_patch_hunk_already_applied, "patch_hunk_already_applied" );
165 add( svn_wc_notify_commit_copied, "commit_copied" );
166 add( svn_wc_notify_commit_copied_replaced, "commit_copied_replaced" );
167 add( svn_wc_notify_url_redirect, "url_redirect" );
168 add( svn_wc_notify_path_nonexistent, "path_nonexistent" );
169 add( svn_wc_notify_exclude, "exclude" );
170 add( svn_wc_notify_failed_conflict, "failed_conflict" );
171 add( svn_wc_notify_failed_missing, "failed_missing" );
172 add( svn_wc_notify_failed_out_of_date, "failed_out_of_date" );
173 add( svn_wc_notify_failed_no_parent, "failed_no_parent" );
174 add( svn_wc_notify_failed_locked, "failed_locked" );
175 add( svn_wc_notify_failed_forbidden_by_server, "failed_forbidden_by_server" );
176 add( svn_wc_notify_skip_conflicted, "skip_conflicted" );
177 #endif
178 #if defined( PYSVN_HAS_SVN_1_8 )
179 add( svn_wc_notify_update_broken_lock, "update_broken_lock" );
180 add( svn_wc_notify_failed_obstruction, "failed_obstruction" );
181 add( svn_wc_notify_conflict_resolver_starting, "conflict_resolver_starting" );
182 add( svn_wc_notify_conflict_resolver_done, "conflict_resolver_done" );
183 add( svn_wc_notify_left_local_modifications, "left_local_modifications" );
184 add( svn_wc_notify_foreign_copy_begin, "foreign_copy_begin" );
185 add( svn_wc_notify_move_broken, "move_broken" );
186 #endif
187 #if defined( PYSVN_HAS_SVN_1_9 )
188 add( svn_wc_notify_cleanup_external, "cleanup_external" );
189 add( svn_wc_notify_failed_requires_target, "failed_requires_target" );
190 add( svn_wc_notify_info_external, "info_external" );
191 add( svn_wc_notify_commit_finalizing, "commit_finalizing" );
192 #endif
193
194 }
195
EnumString()196 template <> EnumString< svn_wc_status_kind >::EnumString()
197 : m_type_name( "wc_status_kind" )
198 {
199 // does not exist
200 add( svn_wc_status_none, "none" );
201
202 // is not a versioned thing in this wc
203 add( svn_wc_status_unversioned, "unversioned" );
204
205 // exists, but uninteresting.
206 add( svn_wc_status_normal, "normal" );
207
208 // is scheduled for addition
209 add( svn_wc_status_added, "added" );
210
211 // under v.c., but is missing
212 add( svn_wc_status_missing, "missing" );
213
214 // scheduled for deletion
215 add( svn_wc_status_deleted, "deleted" );
216
217 // was deleted and then re-added
218 add( svn_wc_status_replaced, "replaced" );
219
220 // text or props have been modified
221 add( svn_wc_status_modified, "modified" );
222
223 // local mods received repos mods
224 add( svn_wc_status_merged, "merged" );
225
226 // local mods received conflicting repos mods
227 add( svn_wc_status_conflicted, "conflicted" );
228
229 // a resource marked as ignored
230 add( svn_wc_status_ignored, "ignored" );
231
232 // an unversioned resource is in the way of the versioned resource
233 add( svn_wc_status_obstructed, "obstructed" );
234
235 // an unversioned path populated by an svn:external property
236 add( svn_wc_status_external, "external" );
237
238 // a directory doesn't contain a complete entries list
239 add( svn_wc_status_incomplete, "incomplete" );
240 }
241
EnumString()242 template <> EnumString< svn_wc_merge_outcome_t >::EnumString()
243 : m_type_name( "wc_merge_outcome" )
244 {
245 // The working copy is (or would be) unchanged.
246 // The changes to be merged were already present in the working copy
247 add( svn_wc_merge_unchanged, "unchanged" );
248
249 // The working copy has been (or would be) changed.
250 add( svn_wc_merge_merged, "merged" );
251
252 // The working copy has been (or would be) changed,
253 // but there was (or would be) a conflict
254 add( svn_wc_merge_conflict, "conflict" );
255
256 // No merge was performed, probably because the target
257 // file was either absent or not under version control.
258 add( svn_wc_merge_no_merge, "no_merge" );
259 }
260
EnumString()261 template <> EnumString< svn_wc_notify_state_t >::EnumString()
262 : m_type_name( "wc_notify_state" )
263 {
264 add( svn_wc_notify_state_inapplicable, "inapplicable" );
265
266 // Notifier doesn't know or isn't saying.
267 add( svn_wc_notify_state_unknown, "unknown" );
268
269 // The state did not change.
270 add( svn_wc_notify_state_unchanged, "unchanged" );
271
272 // The item wasn't present.
273 add( svn_wc_notify_state_missing, "missing" );
274
275 // An unversioned item obstructed work.
276 add( svn_wc_notify_state_obstructed, "obstructed" );
277
278 // Pristine state was modified.
279 add( svn_wc_notify_state_changed, "changed" );
280
281 // Modified state had mods merged in.
282 add( svn_wc_notify_state_merged, "merged" );
283
284 // Modified state got conflicting mods.
285 add( svn_wc_notify_state_conflicted, "conflicted" );
286
287 // QQQ: When was this symbol added?
288 // The source to copy the file from is missing.
289 add( svn_wc_notify_state_source_missing, "source_missing" );
290 }
291
EnumString()292 template <> EnumString< svn_wc_schedule_t >::EnumString()
293 : m_type_name( "wc_schedule" )
294 {
295 // Nothing special here
296 add( svn_wc_schedule_normal, "normal" );
297
298 // Slated for addition
299 add( svn_wc_schedule_add, "add" );
300
301 // Slated for deletion
302 add( svn_wc_schedule_delete, "delete" );
303
304 // Slated for replacement (delete + add)
305 add( svn_wc_schedule_replace, "replace" );
306 }
307
EnumString()308 template <> EnumString< svn_node_kind_t >::EnumString()
309 : m_type_name( "node_kind" )
310 {
311 // absent
312 add( svn_node_none, "none" );
313
314 // regular file
315 add( svn_node_file, "file" );
316
317 // directory
318 add( svn_node_dir, "dir" );
319
320 // something's here, but we don't know what
321 add( svn_node_unknown, "unknown" );
322
323 #if defined( PYSVN_HAS_SVN_1_8 )
324 // symbolic link
325 // @note This value is not currently used by the public API.
326 add( svn_node_symlink, "symlink" );
327 #endif
328 }
329
330 #if defined( PYSVN_HAS_DIFF_FILE_IGNORE_SPACE )
EnumString()331 template <> EnumString< svn_diff_file_ignore_space_t >::EnumString()
332 : m_type_name( "diff_file_ignore_space" )
333 {
334 add( svn_diff_file_ignore_space_none, "none" );
335 add( svn_diff_file_ignore_space_change, "change" );
336 add( svn_diff_file_ignore_space_all, "all" );
337 }
338 #endif
339
340 #if defined( PYSVN_HAS_CLIENT_DIFF_SUMMARIZE )
EnumString()341 template <> EnumString< svn_client_diff_summarize_kind_t >::EnumString()
342 : m_type_name( "diff_summarize" )
343 {
344 /** An item with no text modifications */
345 add( svn_client_diff_summarize_kind_normal, "normal" );
346
347 /** An added item */
348 add( svn_client_diff_summarize_kind_added, "added" );
349
350 /** An item with text modifications */
351 add( svn_client_diff_summarize_kind_modified, "modified" );
352
353 /** A deleted item */
354 add( svn_client_diff_summarize_kind_deleted, "delete" );
355 }
356 #endif
357
358 #if defined( PYSVN_HAS_SVN_WC_CONFLICT_CHOICE_T )
EnumString()359 template <> EnumString< svn_wc_conflict_action_t >::EnumString()
360 : m_type_name( "conflict_action" )
361 {
362 add( svn_wc_conflict_action_edit, "edit" );
363 add( svn_wc_conflict_action_add, "add" );
364 add( svn_wc_conflict_action_delete, "delete" );
365 }
366
EnumString()367 template <> EnumString< svn_wc_conflict_kind_t >::EnumString()
368 : m_type_name( "conflict_kind" )
369 {
370 add( svn_wc_conflict_kind_text, "text" );
371 add( svn_wc_conflict_kind_property, "property" );
372 }
373
EnumString()374 template <> EnumString< svn_wc_conflict_reason_t >::EnumString()
375 : m_type_name( "conflict_reason" )
376 {
377 // local edits are already present
378 add( svn_wc_conflict_reason_edited, "edited" );
379 // another object is in the way
380 add( svn_wc_conflict_reason_obstructed, "obstructed" );
381 // object is already schedule-delete
382 add( svn_wc_conflict_reason_deleted, "deleted" );
383 // object is unknown or missing
384 add( svn_wc_conflict_reason_missing, "missing" );
385 // object is unversioned
386 add( svn_wc_conflict_reason_unversioned, "unversioned" );
387 #if defined( PYSVN_HAS_SVN_1_8 )
388 add( svn_wc_conflict_reason_moved_away, "moved_away" );
389 add( svn_wc_conflict_reason_moved_here, "moved_here" );
390 #endif
391 }
392
393 #endif
394
395 #if defined( PYSVN_HAS_SVN__DEPTH_PARAMETER )
EnumString()396 template <> EnumString< svn_depth_t >::EnumString()
397 : m_type_name( "depth" )
398 {
399 add( svn_depth_unknown, "unknown" );
400 add( svn_depth_exclude, "exclude" );
401 add( svn_depth_empty, "empty" );
402 add( svn_depth_files, "files" );
403 add( svn_depth_immediates, "immediates" );
404 add( svn_depth_infinity, "infinity" );
405 }
406 #endif
407
408
409 #if defined( PYSVN_HAS_SVN_WC_CONFLICT_CHOICE_T )
EnumString()410 template <> EnumString< svn_wc_conflict_choice_t >::EnumString()
411 : m_type_name( "wc_conflict_choice" )
412 {
413 // Don't resolve the conflict now. Let libsvn_wc mark the path
414 // 'conflicted', so user can run 'svn resolved' later.
415 add( svn_wc_conflict_choose_postpone, "postpone" );
416
417 // If their were files to choose from, select one as a way of
418 // resolving the conflict here and now. libsvn_wc will then do the
419 // work of "installing" the chosen file.
420 // user chooses the original version
421 add( svn_wc_conflict_choose_base, "base" );
422 // user chooses incoming version
423 add( svn_wc_conflict_choose_theirs_full, "theirs_full" );
424 // user chooses own version
425 add( svn_wc_conflict_choose_mine_full, "mine_full" );
426 // user chooses incoming (for conflicted hunks)
427 add( svn_wc_conflict_choose_theirs_conflict, "theirs_conflict" );
428 // user chooses own (for conflicted hunks)
429 add( svn_wc_conflict_choose_mine_conflict, "mine_conflict" );
430 // user chooses the merged version
431 add( svn_wc_conflict_choose_merged, "merged" );
432 #if defined( PYSVN_HAS_SVN_1_8 )
433 //undecided
434 add( svn_wc_conflict_choose_unspecified, "unspecified" );
435 #endif
436 }
437 #endif
438
439 #if defined( PYSVN_HAS_SVN_WC_OPERATION_T )
EnumString()440 template <> EnumString< svn_wc_operation_t >::EnumString()
441 : m_type_name( "wc_operation" )
442 {
443 add( svn_wc_operation_none, "none" );
444 add( svn_wc_operation_update, "update" );
445 add( svn_wc_operation_switch, "switch" );
446 add( svn_wc_operation_merge, "merge" );
447 }
448 #endif
449
450 //--------------------------------------------------------------------------------
init_type(void)451 template <> void pysvn_enum< svn_opt_revision_kind >::init_type(void)
452 {
453 behaviors().name( "opt_revision_kind" );
454 behaviors().doc( "opt_revision_kind enumeration" );
455 behaviors().supportGetattr();
456 }
457
init_type(void)458 template <> void pysvn_enum_value< svn_opt_revision_kind >::init_type(void)
459 {
460 behaviors().name( "opt_revision_kind" );
461 behaviors().doc( "opt_revision_kind value" );
462 behaviors().supportCompare();
463 behaviors().supportRichCompare();
464 behaviors().supportRepr();
465 behaviors().supportStr();
466 behaviors().supportHash();
467 }
468
init_type(void)469 template <> void pysvn_enum< svn_wc_notify_action_t >::init_type(void)
470 {
471 behaviors().name( "wc_notify_action" );
472 behaviors().doc( "wc_notify_action enumeration" );
473 behaviors().supportGetattr();
474 }
475
init_type(void)476 template <> void pysvn_enum_value< svn_wc_notify_action_t >::init_type(void)
477 {
478 behaviors().name( "wc_notify_action" );
479 behaviors().doc( "wc_notify_action value" );
480 behaviors().supportCompare();
481 behaviors().supportRichCompare();
482 behaviors().supportRepr();
483 behaviors().supportStr();
484 behaviors().supportHash();
485 }
486
init_type(void)487 template <> void pysvn_enum< svn_wc_status_kind >::init_type(void)
488 {
489 behaviors().name( "wc_status_kind" );
490 behaviors().doc( "wc_status_kind enumeration" );
491 behaviors().supportGetattr();
492 }
493
init_type(void)494 template <> void pysvn_enum_value< svn_wc_status_kind >::init_type(void)
495 {
496 behaviors().name( "wc_status_kind" );
497 behaviors().doc( "wc_status_kind value" );
498 behaviors().supportCompare();
499 behaviors().supportRichCompare();
500 behaviors().supportRepr();
501 behaviors().supportStr();
502 behaviors().supportHash();
503 }
504
init_type(void)505 template <> void pysvn_enum< svn_wc_schedule_t >::init_type(void)
506 {
507 behaviors().name( "wc_schedule" );
508 behaviors().doc( "wc_schedule enumeration" );
509 behaviors().supportGetattr();
510 }
511
init_type(void)512 template <> void pysvn_enum_value< svn_wc_schedule_t >::init_type(void)
513 {
514 behaviors().name( "wc_schedule" );
515 behaviors().doc( "wc_schedule value" );
516 behaviors().supportCompare();
517 behaviors().supportRichCompare();
518 behaviors().supportRepr();
519 behaviors().supportStr();
520 behaviors().supportHash();
521 }
522
init_type(void)523 template <> void pysvn_enum< svn_wc_merge_outcome_t >::init_type(void)
524 {
525 behaviors().name( "wc_merge_outcome" );
526 behaviors().doc( "wc_merge_outcome enumeration" );
527 behaviors().supportGetattr();
528 }
529
init_type(void)530 template <> void pysvn_enum_value< svn_wc_merge_outcome_t >::init_type(void)
531 {
532 behaviors().name( "wc_merge_outcome" );
533 behaviors().doc( "wc_merge_outcome value" );
534 behaviors().supportCompare();
535 behaviors().supportRichCompare();
536 behaviors().supportRepr();
537 behaviors().supportStr();
538 behaviors().supportHash();
539 }
540
init_type(void)541 template <> void pysvn_enum< svn_wc_notify_state_t >::init_type(void)
542 {
543 behaviors().name( "wc_notify_state" );
544 behaviors().doc( "wc_notify_state enumeration" );
545 behaviors().supportGetattr();
546 }
547
init_type(void)548 template <> void pysvn_enum_value< svn_wc_notify_state_t >::init_type(void)
549 {
550 behaviors().name( "wc_notify_state" );
551 behaviors().doc( "wc_notify_state value" );
552 behaviors().supportCompare();
553 behaviors().supportRichCompare();
554 behaviors().supportRepr();
555 behaviors().supportStr();
556 behaviors().supportHash();
557 }
558
init_type(void)559 template <> void pysvn_enum< svn_node_kind_t >::init_type(void)
560 {
561 behaviors().name( "node_kind" );
562 behaviors().doc( "node_kind enumeration" );
563 behaviors().supportGetattr();
564 }
565
init_type(void)566 template <> void pysvn_enum_value< svn_node_kind_t >::init_type(void)
567 {
568 behaviors().name( "node_kind" );
569 behaviors().doc( "node_kind value" );
570 behaviors().supportCompare();
571 behaviors().supportRichCompare();
572 behaviors().supportRepr();
573 behaviors().supportStr();
574 behaviors().supportHash();
575 }
576
577 #if defined( PYSVN_HAS_DIFF_FILE_IGNORE_SPACE )
init_type(void)578 template <> void pysvn_enum< svn_diff_file_ignore_space_t >::init_type(void)
579 {
580 behaviors().name( "diff_file_ignore_space" );
581 behaviors().doc( "diff_file_ignore_space enumeration" );
582 behaviors().supportGetattr();
583 }
584
init_type(void)585 template <> void pysvn_enum_value< svn_diff_file_ignore_space_t >::init_type(void)
586 {
587 behaviors().name( "diff_file_ignore_space" );
588 behaviors().doc( "diff_file_ignore_space value" );
589 behaviors().supportCompare();
590 behaviors().supportRichCompare();
591 behaviors().supportRepr();
592 behaviors().supportStr();
593 behaviors().supportHash();
594 }
595 #endif
596
597 #if defined( PYSVN_HAS_CLIENT_DIFF_SUMMARIZE )
init_type(void)598 template <> void pysvn_enum< svn_client_diff_summarize_kind_t >::init_type(void)
599 {
600 behaviors().name( "client_diff_summarize_kind" );
601 behaviors().doc( "client_diff_summarize_kind enumeration" );
602 behaviors().supportGetattr();
603 }
604
init_type(void)605 template <> void pysvn_enum_value< svn_client_diff_summarize_kind_t >::init_type(void)
606 {
607 behaviors().name( "client_diff_summarize_kind" );
608 behaviors().doc( "client_diff_summarize_kind value" );
609 behaviors().supportCompare();
610 behaviors().supportRichCompare();
611 behaviors().supportRepr();
612 behaviors().supportStr();
613 behaviors().supportHash();
614 }
615 #endif
616
617 #if defined( PYSVN_HAS_SVN__DEPTH_PARAMETER )
init_type(void)618 template <> void pysvn_enum< svn_depth_t >::init_type(void)
619 {
620 behaviors().name( "depth" );
621 behaviors().doc( "depth enumeration" );
622 behaviors().supportGetattr();
623 }
624
init_type(void)625 template <> void pysvn_enum_value< svn_depth_t >::init_type(void)
626 {
627 behaviors().name( "depth" );
628 behaviors().doc( "depth value" );
629 behaviors().supportCompare();
630 behaviors().supportRichCompare();
631 behaviors().supportRepr();
632 behaviors().supportStr();
633 behaviors().supportHash();
634 }
635 #endif
636
637 #if defined( PYSVN_HAS_SVN_WC_CONFLICT_CHOICE_T )
init_type(void)638 template <> void pysvn_enum< svn_wc_conflict_choice_t >::init_type(void)
639 {
640 behaviors().name( "wc_conflict_choice" );
641 behaviors().doc( "wc_conflict_choice enumeration" );
642 behaviors().supportGetattr();
643 }
644
init_type(void)645 template <> void pysvn_enum_value< svn_wc_conflict_choice_t >::init_type(void)
646 {
647 behaviors().name( "wc_conflict_choice" );
648 behaviors().doc( "wc_conflict_choice value" );
649 behaviors().supportCompare();
650 behaviors().supportRichCompare();
651 behaviors().supportRepr();
652 behaviors().supportStr();
653 behaviors().supportHash();
654 }
655
656
init_type(void)657 template <> void pysvn_enum< svn_wc_conflict_action_t >::init_type(void)
658 {
659 behaviors().name( "wc_conflict_action" );
660 behaviors().doc( "wc_conflict_action enumeration" );
661 behaviors().supportGetattr();
662 }
663
init_type(void)664 template <> void pysvn_enum_value< svn_wc_conflict_action_t >::init_type(void)
665 {
666 behaviors().name( "wc_conflict_action" );
667 behaviors().doc( "wc_conflict_action value" );
668 behaviors().supportCompare();
669 behaviors().supportRichCompare();
670 behaviors().supportRepr();
671 behaviors().supportStr();
672 behaviors().supportHash();
673 }
674
675
init_type(void)676 template <> void pysvn_enum< svn_wc_conflict_kind_t >::init_type(void)
677 {
678 behaviors().name( "wc_conflict_kind" );
679 behaviors().doc( "wc_conflict_kind enumeration" );
680 behaviors().supportGetattr();
681 }
682
init_type(void)683 template <> void pysvn_enum_value< svn_wc_conflict_kind_t >::init_type(void)
684 {
685 behaviors().name( "wc_conflict_kind" );
686 behaviors().doc( "wc_conflict_kind value" );
687 behaviors().supportCompare();
688 behaviors().supportRichCompare();
689 behaviors().supportRepr();
690 behaviors().supportStr();
691 behaviors().supportHash();
692 }
693
init_type(void)694 template <> void pysvn_enum< svn_wc_conflict_reason_t >::init_type(void)
695 {
696 behaviors().name( "wc_conflict_reason" );
697 behaviors().doc( "wc_conflict_reason enumeration" );
698 behaviors().supportGetattr();
699 }
700
init_type(void)701 template <> void pysvn_enum_value< svn_wc_conflict_reason_t >::init_type(void)
702 {
703 behaviors().name( "wc_conflict_reason" );
704 behaviors().doc( "wc_conflict_reason value" );
705 behaviors().supportCompare();
706 behaviors().supportRichCompare();
707 behaviors().supportRepr();
708 behaviors().supportStr();
709 behaviors().supportHash();
710 }
711 #endif
712
713 #if defined( PYSVN_HAS_SVN_WC_OPERATION_T )
init_type(void)714 template <> void pysvn_enum< svn_wc_operation_t >::init_type(void)
715 {
716 behaviors().name( "wc_operation" );
717 behaviors().doc( "wc_operation enumeration" );
718 behaviors().supportGetattr();
719 }
720
init_type(void)721 template <> void pysvn_enum_value< svn_wc_operation_t >::init_type(void)
722 {
723 behaviors().name( "wc_operation" );
724 behaviors().doc( "wc_operation value" );
725 behaviors().supportCompare();
726 behaviors().supportRichCompare();
727 behaviors().supportRepr();
728 behaviors().supportStr();
729 behaviors().supportHash();
730 }
731 #endif
732