diff options
author | Ray Strode <rstrode@redhat.com> | 2007-06-08 12:13:45 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2007-06-08 12:13:45 -0400 |
commit | b4aa90f11c7acc401d151b572fc52a3739cc0d74 (patch) | |
tree | 535dcaf398682638298adcb30779c1d4f25fab4a /scripts | |
parent | 06c5d0210b1e118ced97b07a16d1550f6162e244 (diff) | |
download | plymouth-b4aa90f11c7acc401d151b572fc52a3739cc0d74.tar.gz plymouth-b4aa90f11c7acc401d151b572fc52a3739cc0d74.tar.xz plymouth-b4aa90f11c7acc401d151b572fc52a3739cc0d74.zip |
add my scripts directory to git
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.am | 8 | ||||
-rw-r--r-- | scripts/default.cfg | 617 | ||||
-rwxr-xr-x | scripts/new-object.sh | 389 | ||||
-rwxr-xr-x | scripts/plymouth-update-initrd.sh | 20 |
4 files changed, 1034 insertions, 0 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am new file mode 100644 index 0000000..82b00b4 --- /dev/null +++ b/scripts/Makefile.am @@ -0,0 +1,8 @@ +SUBDIRS = + +noinst_SCRIPTS = new-object.sh + +scriptsdir = $(libexecdir)/plymouth +scripts_SCRIPTS = plymouth-update-initrd.sh + +MAINTAINERCLEANFILES = Makefile.in diff --git a/scripts/default.cfg b/scripts/default.cfg new file mode 100644 index 0000000..cc96c7e --- /dev/null +++ b/scripts/default.cfg @@ -0,0 +1,617 @@ +# The type of line endings +newlines = lf # auto/lf/crlf/cr + +# The original size of tabs in the input +input_tab_size = 8 # number + +# The ascii value of the string escape char, usually 92 (\). (Pawn) +string_escape_char = 92 # number + +# The number of columns to indent per level. +# Usually 2, 3, 4, or 8. +indent_columns = 2 # number + +# How to use tabs when indenting code +# 0=spaces only +# 1=indent with tabs, align with spaces +# 2=indent and align with tabs +indent_with_tabs = 0 # number + +# Whether to indent strings broken by '\' so that they line up +indent_align_string = false # false/true + +# Spaces to indent '{' from level +indent_brace = 2 # number + +# Whether braces are indented to the body level +indent_braces = false # false/true + +# Indent based on the size of the brace parent, ie 'if' => 3 spaces, 'for' => 4 spaces, etc. +indent_brace_parent = false # false/true + +# Whether the 'namespace' body is indented +indent_namespace = false # false/true + +# Whether the 'class' body is indented +indent_class = false # false/true + +# Whether to indent the stuff after a leading class colon +indent_class_colon = false # false/true + +# Whether to indent continued function call parameters one indent level (true) or aligns instead of indent (false) +indent_func_call_param = false # false/true + +# The number of spaces to indent a continued '->' or '.' +# Usually set to 0, 1, or indent_columns. +indent_member = 0 # number + +# Spaces to indent single line ('//') comments on lines before code +indent_sing_line_comments = 0 # number + +# Spaces to indent 'case' from 'switch' +# Usually 0 or indent_columns. +indent_switch_case = 2 # number + +# Spaces to indent '{' from 'case'. +# By default, the brace will appear under the 'c' in case. +# Usually set to 0 or indent_columns. +indent_case_brace = 2 # number + +# Whether to indent comments found in first column +indent_col1_comment = false # false/true + +# How to indent goto labels +# >0 : absolute column where 1 is the leftmost column +# <=0 : subtract from brace indent +indent_label = 1 # number + +# Same as indent_label, but for access specifiers that are followed by a colon +indent_access_spec = 1 # number + +# If an open paren is followed by a newline, indent the next line so that it lines up after the open paren (not recommended) +indent_paren_nl = false # false/true + +# If an open square is followed by a newline, indent the next line so that it lines up after the open square (not recommended) +indent_square_nl = false # false/true + +# +# Spacing options +# + +# Add or remove space around arithmetic operator '+', '-', '/', '*', etc +sp_arith = add # ignore/add/remove/add + +# Add or remove space around assignment operator '=', '+=', etc +sp_assign = add # ignore/add/remove/add + +# Add or remove space around boolean operators '&&' and '||' +sp_bool = add # ignore/add/remove/add + +# Add or remove space around compare operator '<', '>', '==', etc +sp_compare = add # ignore/add/remove/add + +# Add or remove space inside '(' and ')' +sp_inside_paren = remove # ignore/add/remove/add + +# Add or remove space between nested parens +sp_paren_paren = remove # ignore/add/remove/add + +# Whether to balance spaces inside nested parens +sp_balance_nested_parens = false # false/true + +# Add or remove space between ')' and '{' +sp_paren_brace = add # ignore/add/remove/add + +# Add or remove space before pointer star '*' +sp_before_ptr_star = add # ignore/add/remove/add + +# Add or remove space between pointer stars '*' +sp_between_ptr_star = remove # ignore/add/remove/add + +# Add or remove space after pointer star '*' +sp_after_ptr_star = remove # ignore/add/remove/add + +# Add or remove space before reference sign '&' +sp_before_byref = add # ignore/add/remove/add + +# Add or remove space after reference sign '&' +sp_after_byref = remove # ignore/add/remove/add + +# Add or remove space before '<>' +sp_before_angle = add # ignore/add/remove/add + +# Add or remove space after '<>' +sp_after_angle = add # ignore/add/remove/add + +# Add or remove space before '(' of 'if', 'for', 'switch', and 'while' +sp_before_sparen = add # ignore/add/remove/add + +# Add or remove space inside if-condition '(' and ')' +sp_inside_sparen = remove # ignore/add/remove/add + +# Add or remove space after ')' of 'if', 'for', 'switch', and 'while' +sp_after_sparen = add # ignore/add/remove/add + +# Add or remove space between ')' and '{' of 'if', 'for', 'switch', and 'while' +sp_sparen_brace = add # ignore/add/remove/add + +# Add or remove space before empty statement ';' on 'if', 'for' and 'while' +sp_special_semi = add # ignore/add/remove/add + +# Add or remove space before ';' +sp_before_semi = remove # ignore/add/remove/add + +# Add or remove space before ';' in 'for' statements +sp_before_semi_for = remove # ignore/add/remove/add + +# Add or remove space before '[' (except '[]') +sp_before_square = remove # ignore/add/remove/add + +# Add or remove space before '[]' +sp_before_squares = remove # ignore/add/remove/add + +# Add or remove space inside '[' and ']' +sp_inside_square = remove # ignore/add/remove/add + +# Add or remove space after ',' +sp_after_comma = add # ignore/add/remove/add + +# Add or remove space before ',' +sp_before_comma = remove # ignore/add/remove/add + +# Add or remove space between 'operator' and operator sign +sp_after_operator = remove # ignore/add/remove/add + +# Add or remove space after cast +sp_after_cast = add # ignore/add/remove/add + +# Add or remove space between 'sizeof' and '(' +sp_sizeof_paren = add # ignore/add/remove/add + +# Add or remove space after the tag keyword (Pawn) +sp_after_tag = ignore # ignore/add/remove/add + +# Add or remove space inside enum '{' and '}' +sp_inside_braces_enum = add # ignore/add/remove/add + +# Add or remove space inside struct/union '{' and '}' +sp_inside_braces_struct = add # ignore/add/remove/add + +# Add or remove space inside '{' and '}' +sp_inside_braces = add # ignore/add/remove/add + +# Add or remove space inside '<' and '>' +sp_inside_angle = remove # ignore/add/remove/add + +# Add or remove space between return type and function name +# A minimum of 1 is addd except for pointer return types. +sp_type_func = ignore # ignore/add/remove/add + +# Add or remove space between function name and '(' on function declaration +sp_func_proto_paren = add # ignore/add/remove/add + +# Add or remove space between function name and '(' on function definition +sp_func_def_paren = add # ignore/add/remove/add + +# Add or remove space inside empty function '()' +sp_inside_fparens = ignore # ignore/add/remove/add + +# Add or remove space inside function '(' and ')' +sp_inside_fparen = ignore # ignore/add/remove/add + +# Add or remove space between ']' and '(' when part of a function call. +sp_square_fparen = add # ignore/add/remove/add + +# Add or remove space between ')' and '{' of function +sp_fparen_brace = add # ignore/add/remove/add + +# Add or remove space between function name and '(' on function calls +sp_func_call_paren = add # ignore/add/remove/add + +# Add or remove space between a constructor/destructor and the open paren +sp_func_class_paren = ignore # ignore/add/remove/add + +# Add or remove space between 'return' and '(' +sp_return_paren = add # ignore/add/remove/add + +# Add or remove space between macro and value +sp_macro = ignore # ignore/add/remove/add + +# Add or remove space between macro function ')' and value +sp_macro_func = ignore # ignore/add/remove/add + +# Add or remove space between 'else' and '{' if on the same line +sp_else_brace = add # ignore/add/remove/add + +# Add or remove space between '}' and 'else' if on the same line +sp_brace_else = add # ignore/add/remove/add + +# Add or remove space between 'catch' and '{' if on the same line +sp_catch_brace = ignore # ignore/add/remove/add + +# Add or remove space between '}' and 'catch' if on the same line +sp_brace_catch = ignore # ignore/add/remove/add + +# Add or remove space between 'finally' and '{' if on the same line +sp_finally_brace = ignore # ignore/add/remove/add + +# Add or remove space between '}' and 'finally' if on the same line +sp_brace_finally = ignore # ignore/add/remove/add + +# Add or remove space between 'try' and '{' if on the same line +sp_try_brace = ignore # ignore/add/remove/add + +# Add or remove space between get/set and '{' if on the same line +sp_getset_brace = ignore # ignore/add/remove/add + +# +# Code alignment (not left column spaces/tabs) +# + +# Whether to keep non-indenting tabs +align_keep_tabs = false # false/true + +# Whether to use tabs for alinging +align_with_tabs = false # false/true + +# Whether to bump out to the next tab when aligning +align_on_tabstop = false # false/true + +# Whether to left-align numbers +align_number_left = false # false/true + +# Align variable definitions in prototypes and functions +align_func_params = true # false/true + +# The span for aligning variable definitions (0=don't align) +align_var_def_span = 0 # number + +# How to align the star in variable definitions. +# 0=Part of the type +# 1=Part of the variable +# 2=Dangling +align_var_def_star_style = 2 # number + +# The threshold for aligning variable definitions (0=no limit) +align_var_def_thresh = 0 # number + +# Whether to align the colon in struct bit fields +align_var_def_colon = false # false/true + +# Whether to align inline struct/enum/union variable definitions +align_var_def_inline = false # false/true + +# The span for aligning on '=' in assignments (0=don't align) +align_assign_span = 0 # number + +# The threshold for aligning on '=' in assignments (0=no limit) +align_assign_thresh = 0 # number + +# The span for aligning on '=' in enums (0=don't align) +align_enum_equ_span = 0 # number + +# The threshold for aligning on '=' in enums (0=no limit) +align_enum_equ_thresh = 0 # number + +# The span for aligning struct/union (0=don't align) +align_var_struct_span = 0 # number + +# The span for aligning struct initializer values (0=don't align) +align_struct_init_span = 0 # number + +# The minimum space between the type and the synonym of a typedef +align_typedef_gap = 1 # number + +# The span for aligning single-line typedefs (0=don't align) +align_typedef_span = 0 # number + +# Controls the positioning of the '*' in typedefs. Just try it. +# 0: Align on typdef type, ignore '*' +# 1: The '*' is part of type name: typedef int *pint; +# 2: The '*' is part of the type, but dangling: typedef int *pint; +align_typedef_star_style = 2 # number + +# The span for aligning comments that end lines (0=don't align) +align_right_cmt_span = 0 # number + +# The span for aligning function prototypes (0=don't align) +align_func_proto_span = 0 # number + +# Whether to align macros wrapped with a backslash and a newline +align_nl_cont = false # false/true + +# The minimum space between label and value of a preprocessor define +align_pp_define_gap = 0 # number + +# The span for aligning on '#define' bodies (0=don't align) +align_pp_define_span = 0 # number + +# +# Newline adding and removing options +# + +# Try to limit code width to N number of columns +code_width = 80 # number + +# Whether to collapse empty blocks between '{' and '}' +nl_collapse_empty_body = true # false/true + +# Don't touch one-line function bodies inside a class xx { } body +nl_class_leave_one_liners = false # false/true + +# Add or remove newlines at the start of the file +nl_start_of_file = ignore # ignore/add/remove/add + +# The number of newlines at the start of the file (only used if nl_start_of_file is 'add' or 'add' +nl_start_of_file_min = 0 # number + +# Add or remove newline at the end of the file +nl_end_of_file = add # ignore/add/remove/add + +# The number of newlines at the end of the file (only used if nl_end_of_file is 'add' or 'add') +nl_end_of_file_min = 1 # number + +# Add or remove newline between '=' and '{' +nl_assign_brace = ignore # ignore/add/remove/add + +# The number of newlines after a block of variable definitions +nl_func_var_def_blk = 1 # number + +# Add or remove newline between function call and '(' +nl_fcall_brace = ignore # ignore/add/remove/add + +# Add or remove newline between 'enum' and '{' +nl_enum_brace = add # ignore/add/remove/add + +# Add or remove newline between 'struct and '{' +nl_struct_brace = add # ignore/add/remove/add + +# Add or remove newline between 'union' and '{' +nl_union_brace = add # ignore/add/remove/add + +# Add or remove newline between 'if' and '{' +nl_if_brace = add # ignore/add/remove/add + +# Add or remove newline between '}' and 'else' +nl_brace_else = add # ignore/add/remove/add + +# Add or remove newline between 'else if' and '{' +# If set to ignore, nl_if_brace is used instead +nl_elseif_brace = add # ignore/add/remove/add + +# Add or remove newline between 'else' and '{' +nl_else_brace = add # ignore/add/remove/add + +# Add or remove newline between '}' and 'finally' +nl_brace_finally = add # ignore/add/remove/add + +# Add or remove newline between 'finally' and '{' +nl_finally_brace = add # ignore/add/remove/add + +# Add or remove newline between 'try' and '{' +nl_try_brace = add # ignore/add/remove/add + +# Add or remove newline between get/set and '{' +nl_getset_brace = ignore # ignore/add/remove/add + +# Add or remove newline between 'for' and '{' +nl_for_brace = add # ignore/add/remove/add + +# Add or remove newline between 'catch' and '{' +nl_catch_brace = ignore # ignore/add/remove/add + +# Add or remove newline between '}' and 'catch' +nl_brace_catch = ignore # ignore/add/remove/add + +# Add or remove newline between 'while' and '{' +nl_while_brace = add # ignore/add/remove/add + +# Add or remove newline between 'do' and '{' +nl_do_brace = add # ignore/add/remove/add + +# Add or remove newline between '}' and 'while' of 'do' statement +nl_brace_while = add # ignore/add/remove/add + +# Add or remove newline between 'switch' and '{' +nl_switch_brace = add # ignore/add/remove/add + +# Whether to put a newline before 'case' statement +nl_before_case = true # false/true + +# Whether to put a newline after 'case' statement +nl_after_case = false # false/true + +# Newline between namespace and { +nl_namespace_brace = ignore # ignore/add/remove/add + +# Add or remove newline between 'template<>' and 'class' +nl_template_class = ignore # ignore/add/remove/add + +# Add or remove newline between 'class' and '{' +nl_class_brace = ignore # ignore/add/remove/add + +# Add or remove newline after each ',' in the constructor member initialization +nl_class_init_args = ignore # ignore/add/remove/add + +# Add or remove newline between return type and function name in definition +nl_func_type_name = ignore # ignore/add/remove/add + +# Add or remove newline after '(' in a function declaration +nl_func_decl_start = remove # ignore/add/remove/add + +# Add or remove newline after each ',' in a function declaration +nl_func_decl_args = add # ignore/add/remove/add + +# Add or remove newline before the ')' in a function declaration +nl_func_decl_end = remove # ignore/add/remove/add + +# Add or remove newline between function signature and '{' +nl_fdef_brace = add # ignore/add/remove/add + +# Whether to put a newline after 'return' statement +nl_after_return = false # false/true + +# Whether to put a newline after semicolons, except in 'for' statements +nl_after_semicolon = true # false/true + +# Whether to put a newline after brace open +nl_after_brace_open = true # false/true + +# Whether to alter newlines in '#define' macros +nl_define_macro = false # false/true + +# Whether to not put blanks after '#ifxx', '#elxx', or before '#endif' +nl_squeeze_ifdef = false # false/true + +# Add or remove newline before 'if' +nl_before_if = ignore # ignore/add/remove/add + +# Add or remove newline after 'if' +nl_after_if = remove # ignore/add/remove/add + +# Add or remove newline before 'for' +nl_before_for = ignore # ignore/add/remove/add + +# Add or remove newline after 'for' +nl_after_for = ignore # ignore/add/remove/add + +# Add or remove newline before 'while' +nl_before_while = ignore # ignore/add/remove/add + +# Add or remove newline after 'while' +nl_after_while = ignore # ignore/add/remove/add + +# Add or remove newline before 'switch' +nl_before_switch = ignore # ignore/add/remove/add + +# Add or remove newline after 'switch' +nl_after_switch = ignore # ignore/add/remove/add + +# Add or remove newline before 'do' +nl_before_do = ignore # ignore/add/remove/add + +# Add or remove newline after 'do' +nl_after_do = ignore # ignore/add/remove/add + +# Whether to double-space commented-entries in struct/enum +nl_ds_struct_enum_cmt = false # false/true + +# +# Positioning options +# + +# The position of boolean operators in wrapped expressions +pos_bool = lead # ignore/lead/trail + +# The position of colons between constructor and member initialization +pos_class_colon = ignore # ignore/lead/trail + +# Whether to fully split long 'for' statements at semi-colons +ls_for_split_full = true # false/true + +# Whether to fully split long function protos/calls at commas +ls_func_split_full = true # false/true + +# +# Blank line options +# + +# The maximum consecutive newlines +nl_max = 2 # number + +# The number of newlines after a function prototype, if followed by another function prototype +nl_after_func_proto = 1 # number + +# The number of newlines after a function prototype, if not followed by another function prototype +nl_after_func_proto_group = 2 # number + +# The number of newlines after '}' of a multi-line function body +nl_after_func_body = 2 # number + +# The number of newlines after '}' of a single line function body +nl_after_func_body_one_liner = 2 # number + +# The minimum number of newlines before a multi-line comment. +# Doesn't apply if after a brace open or another multi-line comment. +nl_before_block_comment = 2 # number + +# The minimum number of newlines before a single-line C comment. +# Doesn't apply if after a brace open or other single-line C comments. +nl_before_c_comment = 2 # number + +# The minimum number of newlines before a CPP comment. +# Doesn't apply if after a brace open or other CPP comments. +nl_before_cpp_comment = 0 # number + +# Whether to remove blank lines after '{' +eat_blanks_after_open_brace = true # false/true + +# Whether to remove blank lines before '}' +eat_blanks_before_close_brace = true # false/true + +# +# Code modifying options (non-whitespace) +# + +# Add or remove braces on single-line 'do' statement +mod_full_brace_do = add # ignore/add/remove/add + +# Add or remove braces on single-line 'for' statement +mod_full_brace_for = remove # ignore/add/remove/add + +# Add or remove braces on single-line function defintions. (Pawn) +mod_full_brace_function = ignore # ignore/add/remove/add + +# Add or remove braces on single-line 'if' statement +mod_full_brace_if = remove # ignore/add/remove/add + +# Don't remove braces around statements that span N newlines +mod_full_brace_nl = 0 # number + +# Add or remove braces on single-line 'while' statement +mod_full_brace_while = remove # ignore/add/remove/add + +# Add or remove unnecessary paren on 'return' statement +mod_paren_on_return = remove # ignore/add/remove/add + +# Whether to change optional semicolons to real semicolons +mod_pawn_semicolon = false # false/true + +# Add parens on 'while' and 'if' statement around bools +mod_full_paren_if_bool = true # false/true + +# +# Comment modifications +# + +# Whether to group cpp-comments that look like they are in a block +cmt_cpp_group = false # false/true + +# Whether to put an empty '/*' on the first line of the combined cpp-comment +cmt_cpp_nl_start = false # false/true + +# Whether to put a newline before the closing '*/' of the combined cpp-comment +cmt_cpp_nl_end = false # false/true + +# Whether to change cpp-comments into c-comments +cmt_cpp_to_c = true # false/true + +# Whether to put a star on subsequent comment lines +cmt_star_cont = true # false/true + +# The number of spaces to insert at the start of subsequent comment lines +cmt_sp_before_star_cont = 0 # number + +# The number of spaces to insert after the star on subsequent comment lines +cmt_sp_after_star_cont = 1 # number + +# +# Preprocessor options +# + +# Add or remove indent of preprocessor directives +pp_indent = ignore # ignore/add/remove/add + +# Add or remove space between # and, say, define +pp_space = remove # ignore/add/remove/add + diff --git a/scripts/new-object.sh b/scripts/new-object.sh new file mode 100755 index 0000000..ef2aea8 --- /dev/null +++ b/scripts/new-object.sh @@ -0,0 +1,389 @@ +#!/bin/bash + +NAMESPACE="Ply" +AUTHOR="YOUR NAME <youremail@here.com>" +#----------------------------------------------------------------------------- +uppercase () +{ + echo "${1}" | tr 'a-z' 'A-Z' +} + +lowercase () +{ + echo "${1}" | tr 'A-Z' 'a-z' +} + +change_character () +{ + echo "${1}" | tr "${2}" "${3}" +} + +delete_character () +{ + echo "${1}" | tr -d "${2}" +} + +#----------------------------------------------------------------------------- +MACRO_NAMESPACE="$(change_character $(uppercase ${NAMESPACE}) '-' '_')" +METHOD_NAMESPACE="$(change_character $(lowercase ${NAMESPACE}) '-' '_')" + +OBJECT_NAME="$(delete_character ${1} '-')" +MACRO_OBJECT_NAME="$(change_character $(uppercase ${1}) '-' '_')" +METHOD_OBJECT_NAME="$(change_character $(lowercase ${1}) '-' '_')" +FULL_OBJECT_NAME="$(delete_character ${NAMESPACE} '-')${OBJECT_NAME}" +SHORT_OBJECT_NAME="$(lowercase $(echo ${1} | awk -F- '{print $NF}'))" + +HEADER_FILENAME="$(lowercase ${NAMESPACE}-${1}).h" +HEADER_GUARD="$(change_character $(change_character $(uppercase ${HEADER_FILENAME}) '-' '_') '.' '_')" + +SOURCE_FILENAME="$(lowercase ${NAMESPACE}-${1}).c" + +MACRO_PREFIX="${MACRO_NAMESPACE}_${MACRO_OBJECT_NAME}" +METHOD_PREFIX="${METHOD_NAMESPACE}_${METHOD_OBJECT_NAME}" + +ERROR_QUARK="${METHOD_NAMESPACE}-$(lowercase ${1})" +HUMAN_READABLE_NAME=$(change_character $(lowercase ${1}) '-' ' ') + +#----------------------------------------------------------------------------- +cat << > ${HEADER_FILENAME} +/* vim: ts=4 sw=2 expandtab autoindent cindent + * ${HEADER_FILENAME} - ${2} + * + * Copyright (C) $(date +%Y) ${AUTHOR} + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Written By: ${AUTHOR} + */ +#ifndef ${HEADER_GUARD} +#define ${HEADER_GUARD} + +#include <glib.h> +#include <glib-object.h> + +G_BEGIN_DECLS + +#define ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME} (${METHOD_PREFIX}_get_type ()) +#define ${MACRO_PREFIX}(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME}, ${FULL_OBJECT_NAME})) +#define ${MACRO_PREFIX}_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME}, ${FULL_OBJECT_NAME}Class)) +#define ${MACRO_NAMESPACE}_IS_${MACRO_OBJECT_NAME}(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME})) +#define ${MACRO_NAMESPACE}_IS_${MACRO_OBJECT_NAME}_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME})) +#define ${MACRO_PREFIX}_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME}, ${FULL_OBJECT_NAME}Class)) +#define ${MACRO_PREFIX}_ERROR (${METHOD_PREFIX}_error_quark ()) + +typedef struct _${FULL_OBJECT_NAME} ${FULL_OBJECT_NAME}; +typedef struct _${FULL_OBJECT_NAME}Class ${FULL_OBJECT_NAME}Class; +typedef struct _${FULL_OBJECT_NAME}Private ${FULL_OBJECT_NAME}Private; +typedef enum _${FULL_OBJECT_NAME}Error ${FULL_OBJECT_NAME}Error; + +struct _${FULL_OBJECT_NAME} +{ + GObject parent; + + /*< private >*/ + ${FULL_OBJECT_NAME}Private *priv; +}; + +struct _${FULL_OBJECT_NAME}Class +{ + GObjectClass parent_class; + + /* signals */ +#if 0 + void (* foo) (${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}); +#endif +}; + +enum _${FULL_OBJECT_NAME}Error +{ + ${MACRO_PREFIX}_ERROR_GENERIC = 0, +}; + +#ifndef ${MACRO_NAMESPACE}_HIDE_FUNCTION_DECLARATIONS +GType ${METHOD_PREFIX}_get_type (void); +GQuark ${METHOD_PREFIX}_error_quark (void); + +${FULL_OBJECT_NAME} *${METHOD_PREFIX}_new (void) G_GNUC_MALLOC; +#endif + +G_END_DECLS +#endif /* ${HEADER_GUARD} */ + +#----------------------------------------------------------------------------- +cat << > ${SOURCE_FILENAME} +/* vim: ts=4 sw=2 expandtab autoindent cindent + * ${SOURCE_FILENAME} - ${2} + * + * Copyright (C) $(date +%Y) ${AUTHOR} + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Written by: ${AUTHOR} + */ +#include "config.h" +#include "${HEADER_FILENAME}" + +#include <errno.h> +#include <string.h> + +#include <glib.h> +#include <glib-object.h> +#include <glib/gi18n.h> + +struct _${FULL_OBJECT_NAME}Private +{ + int bar; +}; + +static void ${METHOD_PREFIX}_finalize (GObject *object); +#if 0 +static void ${METHOD_PREFIX}_class_install_signals (${FULL_OBJECT_NAME}Class *${SHORT_OBJECT_NAME}_class); +static void ${METHOD_PREFIX}_class_install_properties (${FULL_OBJECT_NAME}Class *${SHORT_OBJECT_NAME}_class); + +static void ${METHOD_PREFIX}_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void ${METHOD_PREFIX}_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +enum +{ + PROP_0 = 0, + PROP_BAR +}; + +#define ${MACRO_PREFIX}_DEFAULT_BAR 1 + +enum +{ + FOO = 0, + NUMBER_OF_SIGNALS +}; + +static guint ${METHOD_PREFIX}_signals[NUMBER_OF_SIGNALS]; +#endif + +G_DEFINE_TYPE (${FULL_OBJECT_NAME}, ${METHOD_PREFIX}, G_TYPE_OBJECT); + +static void +${METHOD_PREFIX}_class_init (${FULL_OBJECT_NAME}Class *${SHORT_OBJECT_NAME}_class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (${SHORT_OBJECT_NAME}_class); + + object_class->finalize = ${METHOD_PREFIX}_finalize; + +#if 0 + ${METHOD_PREFIX}_class_install_properties (${SHORT_OBJECT_NAME}_class); + ${METHOD_PREFIX}_class_install_signals (${SHORT_OBJECT_NAME}_class); +#endif + + g_type_class_add_private (${SHORT_OBJECT_NAME}_class, sizeof (${FULL_OBJECT_NAME}Private)); +} + +#if 0 +static void +${METHOD_PREFIX}_class_install_signals (${FULL_OBJECT_NAME}Class *${SHORT_OBJECT_NAME}_class) +{ + GObjectClass *object_class; + + object_class = G_OBJECT_CLASS (${SHORT_OBJECT_NAME}_class); + + ${METHOD_PREFIX}_signals[FOO] = + g_signal_new ("foo", G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (${FULL_OBJECT_NAME}Class, foo), + NULL, NULL, g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + ${SHORT_OBJECT_NAME}_class->foo = NULL; +} + +static void +${METHOD_PREFIX}_class_install_properties (${FULL_OBJECT_NAME}Class *${SHORT_OBJECT_NAME}_class) +{ + GObjectClass *object_class; + GParamSpec *param_spec; + + object_class = G_OBJECT_CLASS (${SHORT_OBJECT_NAME}_class); + object_class->set_property = ${METHOD_PREFIX}_set_property; + object_class->get_property = ${METHOD_PREFIX}_get_property; + + param_spec = g_param_spec_int ("bar", _("Bar"), + _("The amount of bar"), + 0, G_MAXINT, + ${MACRO_PREFIX}_DEFAULT_BAR, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (object_class, PROP_BAR, param_spec); +} +#endif + +static void +${METHOD_PREFIX}_init (${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}) +{ + ${SHORT_OBJECT_NAME}->priv = G_TYPE_INSTANCE_GET_PRIVATE (${SHORT_OBJECT_NAME}, + ${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME}, + ${FULL_OBJECT_NAME}Private); + +} + +static void +${METHOD_PREFIX}_finalize (GObject *object) +{ + ${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}; + GObjectClass *parent_class; + + ${SHORT_OBJECT_NAME} = ${MACRO_PREFIX} (object); + + parent_class = G_OBJECT_CLASS (${METHOD_PREFIX}_parent_class); + + + + if (parent_class->finalize != NULL) + parent_class->finalize (object); +} + +#if 0 +static void +${METHOD_PREFIX}_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + ${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME} = ${MACRO_PREFIX} (object); + + switch (prop_id) + { + case PROP_BAR: + ${METHOD_PREFIX}_set_bar (${SHORT_OBJECT_NAME}, + g_value_get_int (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +${METHOD_PREFIX}_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + ${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME} = ${MACRO_PREFIX} (object); + + switch (prop_id) + { + case PROP_BAR: + g_value_set_int (value, + ${METHOD_PREFIX}_get_bar (${SHORT_OBJECT_NAME})); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} +#endif + +GQuark +${METHOD_PREFIX}_error_quark (void) +{ + static GQuark error_quark = 0; + + if (error_quark == 0) + error_quark = g_quark_from_static_string ("${ERROR_QUARK}"); + + return error_quark; +} + +${FULL_OBJECT_NAME} * +${METHOD_PREFIX}_new (void) +{ + ${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}; + + ${SHORT_OBJECT_NAME} = g_object_new (${MACRO_NAMESPACE}_TYPE_${MACRO_OBJECT_NAME}, NULL); + + return ${SHORT_OBJECT_NAME}; +} + +#if 0 +void +${METHOD_PREFIX}_set_bar (${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}, + int bar) +{ + if (${SHORT_OBJECT_NAME}->priv->bar != bar) + { + ${SHORT_OBJECT_NAME}->priv->bar = bar; + g_object_notify (G_OBJECT (${SHORT_OBJECT_NAME}), "bar"); + } +} + +int +${METHOD_PREFIX}_get_bar (${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}) +{ + return ${SHORT_OBJECT_NAME}->priv->bar; +} +#endif + +#ifdef ${MACRO_PREFIX}_ENABLE_TEST + +#include <stdio.h> +#include <glib.h> + +int +main (int argc, + char **argv) +{ + ${FULL_OBJECT_NAME} *${SHORT_OBJECT_NAME}; + int exit_code; + + g_log_set_always_fatal (G_LOG_LEVEL_ERROR + | G_LOG_LEVEL_CRITICAL + | G_LOG_LEVEL_WARNING); + + g_type_init (); + + ${SHORT_OBJECT_NAME} = ${METHOD_PREFIX}_new (); + + g_object_unref (${SHORT_OBJECT_NAME}); + + exit_code = 0; + + return exit_code; +} +#endif /* ${MACRO_PREFIX}_ENABLE_TEST */ + + +uncrustify -c $(dirname $0)/default.cfg ${HEADER_FILENAME} +mv ${HEADER_FILENAME}.uncrustify ${HEADER_FILENAME} +uncrustify -c $(dirname $0)/default.cfg ${SOURCE_FILENAME} +mv ${SOURCE_FILENAME}.uncrustify ${SOURCE_FILENAME} diff --git a/scripts/plymouth-update-initrd.sh b/scripts/plymouth-update-initrd.sh new file mode 100755 index 0000000..276ed02 --- /dev/null +++ b/scripts/plymouth-update-initrd.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +[ -z "$INITRD" ] && INITRD="/boot/initrd-$(/bin/uname -r).img" + +if [ -z "$NEW_INITRD" ]; then + NEW_INITRD="$(/bin/dirname $INITRD)/$(/bin/basename $INITRD .img)-plymouth.img" +fi + +TMPDIR="$(mktemp -d $PWD/initrd.XXXXXXXXXX)" + +( + cd $TMPDIR + zcat $INITRD | cpio -q -Hnewc -i --make-directories + sed -i -e 's@^#!\(.*\)@#!/bin/plymouth \1@' init + rm -f $NEW_INITRD + find | cpio -q -Hnewc -o | gzip -9 > $NEW_INITRD + [ $? -eq 0 ] && echo "Wrote $NEW_INITRD" +) + +rm -rf "$TMPDIR" |